1、 Redis (Remote Dictionary Server远程数据服务),是一个基于内存且支持持久化的高性能 key-value 数据库
2、 Redis 的典型使用场景:
1) 缓存系统,这是 Redis 使用最多的场景。热点数据缓存,如缓存近期热帖、缓存文章详情信息、记录用户会话信息
2) 计数器,如记录帖子点赞数、点击数、转发数、评论数。通过原子递增(Atomic Increment)保持计数;用 GETSET 来重置计数器;过期属性用来确认一个关键字什么时候应该删除
3) 排行榜(Leader Board),实际就是一种有序集合(ZSet),按照得分进行排序。ZADD 命令可以直接实现这个功能,而 ZREVRANGE 命令可以用来按照得分获取前 100 名的用户,ZRANK 可以用来获取用户排名
排行榜得分会随着时间变化,按照用户投票和时间排序。LPUSH 和 LTRIM 命令结合运用,把文章添加到一个列表中。一项后台任务用来获取列表,并重新计算列表的排序,ZADD 命令用来按照新的顺序填充生成列表
4) 过期项目处理 通过 Unix 时间作为关键字,保持列表能够按时间排序。对 current_time 和 time_to_live 进行检索,完成查找过期项目的艰巨任务,另一项后台任务使用 ZRANGE...WITHSCORES 进行查询,删除过期的条目
限时业务实现 expire 命令设置 key 的生存时间,到时间后自动删除 key。收集验证码、优惠活动等业务场景
5) 分布式锁实现,利用 Redis 的 setnx 命令进行
6) 队列机制实现 Redis 有 list push 和 list pop 这样的命令,所以能够很方便的执行队列操作
3、 Redis 不适用场景:1)需要事务支持(非关系型数据库) 2)基于 SQL 结构化查询储存,关系复杂
4、 热备份:系统处于正dao常运转状态下的备份,采用archivelog mode方式备份数据库,需要大量的档案空间。如果你有一个冷备份而且又有热备份文件,在发生问题时,
就可以利用这些资料恢复更多的信息
5、 冷备份(cold backup):也称离线备份,是指在关闭数据库并且数据库不能更新的状况下进行的数据库完整备份。并可对数据进行指定恢复。
冷备份是将关键性文件拷贝到另外的位置的一种说法。
6、 Redis 的特点
1)Redis 本质上是一个 key-value 类型的数据库
2)整个 Redis 数据库都是在内存中进行操作
3)Redis 支持冷热备份
4)解决了数据库的容错
5)将数据分布到多个 Redis 实例中
7、 Redis 的通信协议是 Redis Serialization Protocol,简称 RESP。特点:是二进制安全的、在 TCP 层、基于请求—响应的模式