一、redis介绍
redis是一个key-value存储系统。和Memcached类似,它支持存储的values类型相对更多,包括字符串、列表、哈希散列表、集合,有序集合。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
本质:将数据保存在内存中
用途:redis可以做缓存;redis可以做消息队列
特性:
- 可以做持久化:在配置文件设置,如果你要保存到文件,可添加设置,就算电脑不小心关机了,数据还是在的。这个要不要保存都是自己来定的。
- 支持存放数据的格式多(5种格式)
{ 'k1':'hiayna', #第一种字符串格式 'k2':[11,22,33,44], #第二种列表格式 'k3':{11,22,33,44}, #第三种集合格式 'k4':{ #第四种,字典,也可以叫做哈希散列表, 'n1':'xxx', 'n2':'fff' }, 'k5':{(11,1),('xxx':5)} #有序集合 }
二、相关问题
1、为什么要使用redis?使用redis有哪些好处?
(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
2、redis相比memcached有哪些优势?
(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 (2) redis的速度比memcached快很多 (3) redis可以持久化其数据