Redis(REmote DIctionary Server,远程字典服务)
Redis(REmote DIctionary Server,远程数据服务)是用C语言开发的一个开源的高性能 键值对(key-value)数据库,Redis把所有数据是保存在内存里面的。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:key一直String类型,redis支持的数据类型 指的就是value可以存储的数据类型。
Redis 默认是16个数据库, 编号是从0~15. 【默认是0号库】
keys *: 查询所有的key
exists key:判断是否有指定的key 若有返回1,否则返回0
expire key 秒数:设置这个key在缓存中的存活时间
- ttl key:展示指定key的剩余时间
若返回值为 正数:指定key的剩余时间
若返回值为 -1:永不过期若返回值为 -2:不存在或者已过期
del key:删除指定key
rename key 新key:重命名
type key:判断一个key的类型
ping :测试连接是否连接
select index:切换库
move key index: 把key移动到几号库(index是库的编号)
flushdb:清空当前数据库
flushall:清空当前实例下所有的数据库
为啥 Redis 单线程模型也能效率这么高?
• 纯内存操作
• 核心是基于非阻塞的 IO 多路复用机制
• 单线程反而避免了多线程的频繁上下文切换问题
Redis数据类型
字符串类型 |
string |
Redis中一个字符串类型(String)的值能存储最大容量是512M |
列表类型 |
List |
类似LinkedList |
散列类型/哈希类型 |
hash |
类似HashMap,适合存储对象(属性,属性值) |
集合类型(无序) |
set |
类似HashSet,无序且唯一 |
有序集合类型 |
zset/sorted_set |
有序且唯一 |