Redis:REmote DIctionary Server:远程字典服务器
Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统主要区别于MySQL的二维表格的形式存储。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。
redis的特点:
1.经过相关人员测试,redis读取速度是110000次/s。写的速度是81000次/s
2.原子性。Redis的操作具有原子性的,同时Redis支持对几个操作全并后的原子性执行
3.支持多种数据结构:String 字符串,list 列表 hash 哈希 set 没有规律和重复的集合,zset 有序的集合
4,持久化,主从复制就是我们说的集群
5,支持过期的时间,支持事务,消息订阅
6.官方不支持window,不过后来的第三方版本是支持的
Redis应用的场景
1,数据缓存:就是将一些数据在短时间之内不会变化,而且他们还要被频繁的访问,为了提高客户的请求速度和降低网站的负载,降低数据库的读写次数,就把这些数据放到缓存中
2,会话缓存
session cache 保存wed会话信息
3,排行榜、计数器
NGINX+lua+redis计数器进行Ip自动封禁
4,消息队列
构建实时消息系统,聊天,群聊、