随笔分类 -  redis 学习

摘要:redisgo可以使用连接池: pool = &redis.Pool{ Dial: func() (conn redis.Conn, e error) { return redis.Dial("tcp","192.168.50.131:6379") }, MaxIdle:3, MaxActive:5 阅读全文
posted @ 2020-04-11 23:32 醉深梦始 阅读(1706) 评论(0) 推荐(0)
摘要:redis分布式锁:可以使用setnx+expire+pipeline: //方法一:setnx+expire+pipeline func DoSetWithPipe(conn redis.Conn){ lock.Lock() defer lock.Unlock() conn.Send("setnx 阅读全文
posted @ 2020-04-11 10:48 醉深梦始 阅读(1998) 评论(1) 推荐(0)
摘要:这里我采用了比较常用的redisgo作为go redis的学习 安装redisgo:go get -u github.com/garyburd/redigo/redis 普通连接: //创建一个连接 conn, err := redis.Dial("tcp", "192.168.1.101:6379 阅读全文
posted @ 2020-04-10 23:06 醉深梦始 阅读(600) 评论(0) 推荐(0)
摘要:1、为什么要持久化? 因为redis是内存数据库,它将自己的数据存储到内存中,一旦redis服务器退出运行,服务器中的数据就会消失。 为了避免数据丢失,redis提供了持久化机制,将存储在内存中的数据保存到磁盘中,用于在redis服务器退出或者宕机时,快速恢复之前redis存储在内存中的数据。 re 阅读全文
posted @ 2020-04-10 21:58 醉深梦始 阅读(155) 评论(0) 推荐(0)
摘要:1、redis有哪些数据结构? 答:字符串string、字典hash、列表list、集合set、有序集合scored set;加上pub/sub吧 2、如果有大量的key需要设置同一时间过期,一般需要注意什么? 答:如果大量的key过期时间过于集中,到过期的那个时间点,redis可能会出现短暂的卡顿 阅读全文
posted @ 2020-04-10 17:07 醉深梦始 阅读(175) 评论(0) 推荐(0)
摘要:常用命令: WATCH key [key ...] //监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 UNWATCH //取消 WATCH 命令对所有 key 的监视。如果在执行 WATCH 命令之后, EXEC 命令或 DISCARD 阅读全文
posted @ 2020-04-10 13:48 醉深梦始 阅读(109) 评论(0) 推荐(0)
摘要:常用命令: publish channel message //将信息发送到指定的频道 SUBSCRIBE channel [channel ...] //订阅给定的一个或多个频道的信息。 psubscribe pattern [pattern ...] //订阅一个或多个符合给定模式的频道。 un 阅读全文
posted @ 2020-04-10 13:29 醉深梦始 阅读(115) 评论(0) 推荐(0)
摘要:常用命令: zadd key score member [[score member] ...] //将一个或者多个member元素的score值加入的有序集set中 zrem key member [member ...] //删除有序集set中的一个或者多个成员 zcard key //返回有序 阅读全文
posted @ 2020-04-10 13:08 醉深梦始 阅读(260) 评论(0) 推荐(0)
摘要:set集合 常用命令: SADD key member [member ...] //往集合中存入数据,若元素存在,则忽略数据;若key不存在,则新建 SREM key member [member ...] //删除集合中的元素 SMEMBERS key //获取集合中的所有元素 SCARD ke 阅读全文
posted @ 2020-04-10 00:20 醉深梦始 阅读(146) 评论(0) 推荐(0)
摘要:list常用命令: LPUSH key value [value ...] //将一个或者多个值value插入到key列表头(最左端) RPUSH key value [value ...] //将一个或者多个value值插入到key列表尾(最右端) LPOP key //移除并返回key列表的头部 阅读全文
posted @ 2020-04-09 23:58 醉深梦始 阅读(134) 评论(0) 推荐(0)
摘要:Hash Hash的常用操作: HSET key filed value //存储一个hash表的key值 HSETNX key filed value //存储一个不存在的hash表的key的值,注意:是key或者filed不存在时返回成功 HMSET key filed value [filed 阅读全文
posted @ 2020-04-09 23:36 醉深梦始 阅读(192) 评论(0) 推荐(0)
摘要:String(字符串) redis命令用法: SET key value //存入字符串键值对 MSET key value [key2 value2 ...] //批量存入字符串键值对 SETNX key value //存入一个不存在的键值对 GET key //获取一个字符串键值 MGET k 阅读全文
posted @ 2020-04-09 22:49 醉深梦始 阅读(151) 评论(0) 推荐(0)
摘要:Redis是现在最受欢迎的Nosql数据库之一,Redis是使用C语言编写的开源的、包含多种数据结构、支持网络、基于内存、可选持久性的键值对的数据库,其具备如下特征: 基于内存运行,性能高效 支持分布式,理论上可无限扩展 key-value存储系统 开源、使用C语言编写、支持网络、可基于内存亦可持久 阅读全文
posted @ 2020-04-09 22:01 醉深梦始 阅读(274) 评论(0) 推荐(0)