Redis详解2.数据结构
2019-02-13 本文已影响8人
卢卡斯哔哔哔
章节目录
Redis详解1.安装及使用
Redis详解2.数据结构
Redis详解3.发布订阅
Redis详解4.事务
Redis详解5.数据持久化
Redis详解6.主从模式
Redis详解7.哨兵模式
Redis详解8.Cluster模式
1 键Key
-
DEL key [key ...]
:删除给定的一个或多个key。不存在的 key 会被忽略。 -
EXISTS key
:检查给定key是否存在。 -
EXPIRE key seconds
:为给定key设置生存时间,当key过期时它会被自动删除。 -
EXPIREAT key timestamp
:作用和EXPIRE类似,都用于为key设置生存时间。不同的是该命令接受的时间参数是 UNIX 时间戳。 -
DUMP key
:序列化给定key,并返回被序列化的值,使用RESTORE命令可以将这个值反序列化为Redis 键。 -
KEYS pattern
:查找所有符合给定模式pattern的key。 -
MIGRATE host port key destination-db timeout [COPY] [REPLACE]
:将key原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功,key保证会出现在目标实例上,而当前实例上的key会被删除。 -
MOVE key db
:将当前数据库的key移动到给定的数据库db当中。如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在于当前数据库,那么MOVE没有任何效果。 -
OBJECT subcommand [arguments [arguments]]
:命令允许从内部察看给定key的Redis对象。 -
PERSIST key
:移除给定key的生存时间,将这个key转换成不会过期的key。 -
PEXPIRE key milliseconds
:这个命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置的生存时间。 -
PEXPIREAT key milliseconds-timestamp
:这个命令和EXPIREAT命令类似,但它以毫秒为单位设置key的过期unix时间戳。 -
PTTL key
:这个命令类似于TTL命令,但它以毫秒为单位返回key的剩余生存时间。 -
RANDOMKEY
:从当前数据库中随机返回(不删除)一个key。 -
RENAME key newkey
:将key改名为newkey。当key和newkey相同,或者key不存在时,返回一个错误。 -
RENAMENX key newkey
:当且仅当newkey不存在时,将key改名为newkey。 -
RESTORE key ttl serialized-value
:反序列化给定的序列化值,并将它和给定的key关联。 -
SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]
:返回或保存给定列表、集合、有序集合key中经过排序的元素。 -
TTL key
:以秒为单位,返回给定key的剩余生存时间。 -
TYPE key
:返回key所储存的值的类型。 -
SCAN cursor [MATCH pattern] [COUNT count]
:SCAN命令及其相关的SSCAN、HSCAN、ZSCAN命令都用于增量地迭代元素。
2 字符串String
- Redis字符串可以存储字符串、整数、浮点数
- Redis整数或者浮点数支持自增或自减操作
- 通过APPEND将value追加到key原来的值的末尾
- 通过SETRANGE用value参数覆写给定key所储存的字符串值,从偏移量 offset 开始。
- 通过GETBIT、SETBIT、BITTOP、BITCOUNT可以把key当作一个二进制位串
3 列表List
- Redis的List是一个双端队列,可以从两端推入或者弹出元素
- LLEN返回列表长度
- LPUSH、LPOP、RPUSH、RPOP分别从列表左端或者右端推入、弹出元素;BRPOP、BLPOP代表阻塞的POP
- RPOPLPUSH、BROPLPUSH将列表source中的最后一个元素弹出,并返回给客户端,然后将source弹出的元素插入到列表destination,作为 destination列表的的头元素。
- LINDEX、LRANGE从列表中获取元素
- LSET设置指定下标的值
- LINSERT在第一个值之后插入新值
- LREM移除一定的值
- LTRIM对一个列表进行修剪,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
4 集合Set
- SADD添加元素并返回添加的数量
- SREM移除元素并返回移除的数量
- SISMEMBER检查元素是否存在于集合中
- SCARD返回元素数量
- SMEMBERS 返回集合包含的所有元素
- SRANDMEMBERS随意返回一个或多个元素
- SPOP随意移除并返回一个或多个元素
- SMOVE将member元素从source集合移动到destination集合
- SINTER返回多个集合的交集;SUNION返回多个集合的并集
- SINTERSTORE和SUNIONSTORE返回结果的同时还是把结果存储到destination集合
- SSCAN用于遍历集合
5 散列Hash
- HGET、HMGET获取元素
- HSET、HMSET添加元素
- HDEL删除元素
- HEXISTS判断元素是否存在
- HKEYS返回KeySet;HGETALL返回EntrySET
- HLEN返回哈希表长度
- HINCRBY、HINCRBYFLOAT为哈希表中域field加上增量 increment
6 有序集合
- 有序集合的部分操作和集合相似,如ZADD、ZCARD、ZSCAN、ZREM
- ZSCORE返回有序集key中,成员member的score值。
- ZRANGE、ZREVRANGE返回有序集key中,指定区间内的成员,分别按照score从小到大和从大到小排列
- ZRANGEBYSCORE、ZREVRANGEBYSCORE返回有序集key中,score值介于max和min之间(包括等于max或min)的所有的成员。有序集成员按 score 值递增或递减的次序排列。
- ZRANK、ZREVRANK返回有序集key中成员member的排名。其中有序集成员按score值递增或递减排序。
- ZREMRANGEBYRANK移除有序集key中,指定排名(rank)区间内的所有成员。
- ZREMRANGEBYSCORE移除有序集key中,所有score值介于min和max之间(包括等于 min或max)的成员。
- ZINCRBY为有序集key的成员member的score值加上增量 increment。
- ZUNIONSTORE、ZINTERSTORE多个集合的并集或交集