Redis应用与特性

Redis应用

1.缓存系统(Redis能够替代Memcached,让你的缓存从只能存储数据变得能够更新数据,因此你不再需要每次都重新生成数据)
2.计数器:转发数、评论数,有了原子递增(Atomic Increment),你可以放心的加上各种计数,用GETSET重置,或者是让它们过期(如果想知道什么时候封锁一个IP地址,INCRBY命令让这些变得很容易,通过原子递增保持计数;GETSET用来重置计数器;过期属性用来确认一个关键字什么时候应该删除。)
3.消息队列系统
4.排行榜(排行榜(Leader Board)按照得分进行排序。ZADD命令可以直接实现这个功能)
5.社交网络
6.按照用户投票和时间排序。Reddit的排行榜,得分会随着时间变化。LPUSH和LTRIM命令结合运用,把文章添加到一个列表中。一项后台任务用来获取列表,并重新计算列表的排序,ZADD命令用来按照新的顺序填充生成列表。列表可以实现非常快速的检索,即使是负载很重的站点
7.过期项目处理。通过Unix时间作为关键字,用来保持列表能够按时间排序。对current_time和time_to_live进行检索,完成查找过期项目的艰巨任务。另一项后台任务使用ZRANGE…WITHSCORES进行查询,删除过期的条目
8.实时系统。使用位图来做布隆过滤器,例如实现垃圾邮件过滤系统的开发变得很容易

Redis特性

1.速度极快(存在于内存中,是一个单线程)
2.持久化:Redis的持久化可以保证将内存中的数据每隔一段时间就保存于磁盘中,重启的时候会再次加载到内存。持久化方式是RDB和AOF
RDB持久化(原理是将Redis在内存中的数据记录定时dump到磁盘上的RDB持久化)
AOF持久化(原理是将Redus的操作日志以追加的方式写入文件)
区别:
RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录
3.支持多种数据结构。分别支持哈希、集合、BitMaps,还有位图(多用于活跃用户数等统计)、HyperLogLog(超小内存唯一值计数,由于只有12k,是有一定误差范围的)、GEO(地理信息定位)
4.支持多种编程语言
5.功能丰富。如发布订阅、Lua脚本、事务、Pipeline(管道,即当指令到达一定数量后,客户端才会执行)
6.简单
7.主从复制。主节点的数据做副本,这是做高可用的基石
8.高可用和分布式。Redis-Sentinel(v2.8)支持高可用,Redis-Cluster(v3.0)支持分布式

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值