go-redis 基于beego正确使用序列化存储数据和反序列化获取数据
安装go-redis
// 安装命令
go get github.com/gomodule/redigo/redis
// 导入使用
import(
"github.com/gomodule/redigo/redis"
)
// go操作redis文档
https://godoc.org/github.com/gomodule/redigo/redis
序列化存储数据和反序列化获取数据
var aType []models.ArticleType
// redis 在就获取,不再就存储
// conn, err := redis.Dial("tcp", ":6379")
// if err != nil {
// beego.Info("redis连接失败")
// }
// defer conn.Close()
// reply, err := conn.Do("set", "atype", aType)
// if err != nil {
// beego.Info("redis存储失败")
// }
// beego.Info(reply) // 序列化与发序列化
conn, err := redis.Dial("tcp", ":6379")
if err != nil {
beego.Info("redis连接失败")
}
defer conn.Close()
ok, _ := redis.Bool(conn.Do("EXISTS", "atype"))
beego.Info(ok)
if ok == true {
ReadBuffer, _ := redis.Bytes(conn.Do("get", "atype"))
beego.Info(ReadBuffer)
dec := gob.NewDecoder(bytes.NewReader(ReadBuffer))
err = dec.Decode(&aType)
if err != nil {
beego.Info("获取不到解码后的数据:", err)
}
beego.Info(aType)
} else {
// 查询
o.QueryTable("ArticleType").All(&aType) // redis存储序列化的数据
var buffer bytes.Buffer
enc := gob.NewEncoder(&buffer)
err = enc.Encode(aType)
reply, err := conn.Do("set", "atype", buffer.Bytes())
if err != nil {
beego.Info("redis存储失败")
}
beego.Info(reply)
}
go-redis 基于beego正确使用序列化存储数据和反序列化获取数据的更多相关文章
- [转]jquery getJSON 数据联动(采用序列化和反序列化获取数据) .
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> ...
- python redis存入字典序列化存储
在python中通过redis hset存储字典时,必须主动把字典通过json.dumps()序列化为字符串后再存储, 不然hget获取后将无法通过json.loads()反序列化为字典 序列化存储 ...
- Redis序列化存储Java集合List等自定义类型
在"Redis学习总结和相关资料"http://blog.csdn.net/fansunion/article/details/49278209 这篇文章中,对Redis做了总体的 ...
- Ping CAP CTO、Codis作者谈redis分布式解决方案和分布式KV存储
此文根据[QCON高可用架构群]分享内容,由群内[编辑组]志愿整理,转发请注明出处. 苏东旭,Ping CAP CTO,Codis作者 开源项目Codis的co-author黄东旭,之前在豌豆荚从事i ...
- 解锁redis锁的正确姿势
解锁redis锁的正确姿势 redis是php的好朋友,在php写业务过程中,有时候会使用到锁的概念,同时只能有一个人可以操作某个行为.这个时候我们就要用到锁.锁的方式有好几种,php不能在内存中用锁 ...
- 对象的序列化存储:Serializable 和 Parceable
在进行Android开发的时候我们有时候需要用到数据的持久化存储,或者在进程之间传递数据.其中就可能需要用到对象的序列化,经过序列化的对象之后可以通过Intent或者Boundle来传输了.接下来还是 ...
- Redis基于客户端分片的集群案例(待实践)
说明: 下面的示例基本都是基于Linux去实现,目的是为了环境的统一,以便于把性能调整到最优.且基于Java.建议生产环境不要使用Windows/Mac OS这些. 在Java领域,基于客户端进行分片 ...
- 一个Redis实例适合存储不同应用程序的数据吗?
Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念. Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据 ...
- 一个基于 Beego 的,能快速创建个人博客,cms 的系统
学习beego时候开发的一个博客系统,在持续完善,有不足之处,望大佬们多多体谅,并且指出.感谢! Go Blog 一个基于Beego的,能快速创建个人博客,cms 的系统 包含功能 查看 Go Blo ...
随机推荐
- python 队列、栈
队列 常规队列 双端队列 优先级队列 栈
- 【剑指Offer】02、替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 题解:StringBuffer ...
- Dubbo的SPI机制与JDK机制的不同及原理分析
从今天开始,将会逐步介绍关于DUbbo的有关知识.首先先简单介绍一下DUbbo的整体概述. 概述 Dubbo是SOA(面向服务架构)服务治理方案的核心框架.用于分布式调用,其重点在于分布式的治理. 简 ...
- python is 与==区别
总结 is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同.莱布尼茨说过:“世界上没有两片完全相同的叶子”,这个is正是这样的比较,比较是不是同一片叶子(即比较的id ...
- php 时间 日期
获取月初与月末 /** * 获取当前月初与月末时间 * * */ $month =8; $year = 2019; $startDay = $year . '-' . $month . '-1'; $ ...
- yum装包报错
[root@iZ6wefn2kl6064uuaxuwetZ ~]# yum –y install gcc pcre-devel zlib-devel openssl-develLoaded plu ...
- Linux下用Bash语言实现判断素数的功能
题目链接: 题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 pri ...
- linux - mysql 异常:Ignoring query to other database
问题描述 Ignoring query to other database(忽略其他数据库查询) 问题原因 登录方式错误,登录命令用的是 “mysql -root -p”,应该用命令 “mysql - ...
- java通过浏览器请求头(User-Agent)获取访问者设备信息以及系统版本
个人博客 地址:http://www.wenhaofan.com/article/20181125220342 在开发AutuBlog项目时需要做后台的登录记录,想起浏览器的User-Agent,于是 ...
- SimpleDateFormat中YYYYmmDDhhMMss大小写问题-获取不到正确时间以及常见的格式串
1.问题解决: SimpleDateFormat sf = new SimpleDateFormat("YYYYmmDDhhMMss");String transTime = &q ...