随笔分类 -  redis

摘要:Jedis 连接 sentinel:直接连sentinel,通过sentinel获取master的地址然后封装成连接 cluster:缓存了slot到node的映射关系,调用的时候根据映射关系获取对应的connectPool(pool在这里其实就代表对应node的连接) Pipeline 缓存命令, 阅读全文
posted @ 2020-07-18 17:09 挣扎一下 阅读(219) 评论(0) 推荐(0)
摘要:主从复制 master-slave(replication) 从节点上只能读数据,不能写入数据,只能在主节点写入数据。主节点的数据会自动同步到从节点。 复制原理: 从节点第一次加入后和主节点建立连接 建立连接后主节点通过bgsave生成RDB文件,再将文件发送到从节点(假如超时则会重发) 新来的指令 阅读全文
posted @ 2020-07-18 01:35 挣扎一下 阅读(755) 评论(0) 推荐(0)
摘要:高级特性 简单消息队列 可以用list的rpush+lpop实现简单的消息队列功能(用blpop可以阻塞连接直到有消息时才返回) 发布订阅模式 消费者通过subscribe订阅一个频道,生产者通过publish发布消息到频道,实现多条发布。 通过unsubscribe取消订阅。 订阅的频道可以用通配 阅读全文
posted @ 2020-07-17 20:40 挣扎一下 阅读(395) 评论(0) 推荐(0)
摘要:Redis数据类型 KV形式存储,KEY是String,最大容量512M,V有以下几种类型: String:命令set,get;字符串,底层数据结构就是SDS Hash:命令hset,hget;entry数量少的时候用ziplist(节省空间,实际上不是链表,放在连续的空间里,性能比哈希差一点,取头 阅读全文
posted @ 2020-07-15 15:10 挣扎一下 阅读(152) 评论(0) 推荐(0)
摘要:由于redis的数据都直接存储在内存里,在服务器发生宕机时内存的数据会瞬间清空,那么必须要有重启时恢复数据的方法。 redis通过持久化机制将数据存储到磁盘中从而在服务器重启时恢复数据,这篇文章主要简介redis的持久化机制。 rdb:rdb是通过快照的方式实现持久化,redis定期将数据集快照写入 阅读全文
posted @ 2020-05-19 22:53 挣扎一下 阅读(182) 评论(0) 推荐(0)
摘要:将redis用做缓存是一种非常常见的手段,然而由于内存大小的限制,会导致redis在内存空间满了以后需要处理继续存入的数据。总计有以下几种策略: volatile-ttl:在设置了过期时间的数据集里,淘汰离过期时间最近的key。 volatile-random:在设置了过期时间的数据集里,淘汰任意一 阅读全文
posted @ 2020-05-19 22:16 挣扎一下 阅读(1659) 评论(0) 推荐(0)