![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
Redis缓存
眼神多像云朵
一个有梦想的程序员
展开
-
redis的同步过程
此处省略主从、哨兵配置 同步过程: slave发送sync命令到master master启动一个后台进程,将redis中的数据快照保存到文件中 master将保存数据快照期间接受到的写命令缓存起来 master完成写文件操作后,将该文件发送给salver 使用心得AOF文件替换掉旧的AOF文件 ...原创 2020-08-03 21:39:44 · 165 阅读 · 0 评论 -
redis持久化RDB/AOF两种方式
RDB 快照持久化:保存某个时间点的全量数据快照 手动触发持久化通过2个命令生成dump.rdb文件: save:阻塞redis的服务器京城,知道rdb文件生成完毕(少用) bgsave:检查是否存在子进程正在持久化数据,不存在则fork出一个子进程来创建rdb文件,不阻塞服务器进程 具体:会派生出一个子进程接收bgsave当前数据库状态,父进程继续处理接收到的命令,子进程完成后会给父进程发送命令,父进程在接收命令的同时通过轮询方式接收子进程的信号。基本上就是通过后台的方式保存rbd文件,调用此命令后会l原创 2020-08-03 21:04:02 · 159 阅读 · 0 评论 -
基于redis分布式锁实现方式
分布式锁:控制分布式系统或者不同应用访问共享资源时互斥 主要需要解决四个问题:互斥性、安全性、死锁、容错 setnx key value:如果key不存在,则创建并赋值 expire key seconds:给key设置过期时间 以上两个命令搭配使用可以实现分布式锁,但是可能会出现set成功但是未执行到expire程序就崩了,共享资源就无法被其他应用使用 set key value [EX seconds|PX milliseconds] [NX|XX] EX seconds:设置key的过期时间为秒 P原创 2020-08-02 22:45:35 · 64 阅读 · 0 评论 -
redis海量数据获取操作
keys pattern操作:查找出所有符合给定模式pattern的key列表 keys指令一次性返回所有匹配的key(通配符 keys user*) 数据量过大会导致服务卡顿,对内存和redis服务器影响很大 scan [cursor ] match [pattern] count [count]:从海量key中查询出某一固定前缀的key 基于游标的迭代器,需要基于上一次的游标,延续之前迭代过程 以0作为游标,会开始一次新的迭代,知道命令返回游标0完成一次迭代(0到0的过程为一次完整的遍历) 不保证原创 2020-08-02 22:13:19 · 633 阅读 · 0 评论 -
redis数据类型
1、String:最基本的数据类型,二进制安全,可以包含任何数据(jpg、序列化对象) 2、Hash:String元素组成的字典,适合用于存储对象 3、List:列表,按照String元素插入顺序排序,容量大概40亿条数据 lpush 4、Set:String元素组成的无序集合,通过哈希表实现,不允许重复 sadd 5、Sorted Set:通过分数来为集合中的成员进行排序(每条数据会关联一个dubbo类型的分数,根据分数进行排序,分数可以重复,数据不能重复) 以上是常用五中数据类型,更高级的两种数据类型原创 2020-08-02 21:56:01 · 91 阅读 · 0 评论