前言
Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。它支持多种类型的数据结构,如字符串 ( strings ),散列 ( hashes ),列表( lists ),集合( sets ),有序集合( sorted sets )与范围查询,bitmaps,hyperloglogs和地理空间( geospatial ) 索引半径查询。Redis内置了复制( replication ),LUA脚本(Luascripting ),LRU驱动事件( LRU eviction ),事务(transactions)和不同级别的磁盘持久化 ( persistence ),并通过Redis哨兵 ( Sentinel )和自动分区(Cluster )提供高可用性( high availability )。l
Redis-Key
判断关键字是否存在
移动关键字到某个数据库
设置过期时间
查看key的类型
String
追加字符串,如果关键字不存在,则相当于set
获取字符串长度
加一,减一
以指定的步长增加或者减少
获取指定长度字符串
替换指定位置字符串
setex (set with expire) #设置过期时间
setnx (set if not exist) #不存在再设置
批量创建和获取
也有msetnx,是原子性的,只要有一个没有成功那么都不会成功。
先get然后set,如果不存在返回空,存在则返回当前值然后设置新的值
List
在redis里面,我们可以把list玩成,栈、队列、阻塞队列!
所有的list命令都是用l开头的
往列表左边插入值,并获取指定范围内容
也可以放在列表右边
相当于一个双端队列
移除列表第一个元素
根据下标获取列表元素
获取列表长度
移除指定值
通过下标截取指定的长度
移除列表最后一个元素并把它移动到新的列表中
将列表中指定下标的值替换为另外一个值
指定位置插入元素
Set
不能有重复的元素
添加元素并查看全部元素
判断某元素是否存在
获取集合里元素个数
移除指定元素
随机抽取集合中指定个数元素
随机移除元素
将一个指定值移动到另一个set集合中
两个set集合的差集,交集和并集
Hash
<key,Map>,每个关键字对应一个Map,Map里又是KV键值对。
添加元素获取元素,添加多个元素和获取全部元素
删除指定元素
获取hash表字段数量
判断指定键值对是否存在
只获取全部键或者只获取全部值
指定增量变化
存在则添加失败不存在则添加
Zset
有序集合
添加和获取
有序
所得结果是从小到大排序的:250->500->2500
移除指定元素
获取集合元素个数
获取指定区间成员数量