数据库相关操作
Redis默认 16 个数据库,默认使⽤第 0个
select 0 # 切换数据库dbsize # 查看数据库⼤⼩flushall # 清除全部库数据flushdb # 清空当前库数据
key相关的操作
keys * # 查看所有的keyexists key # 判断当前key 是否存在。expire key seconds # 设置 key的过期时间,超过时间后,将会⾃动删除该key ,单位是秒。 ( 热点数据 )ttl key # 返回 key 剩余的过期时间。 这种反射能⼒允许 Redis 客户端检查指定 key在数据集⾥⾯剩余的有效期。--如果 key 不存在或者已过期,返回 -2--如果 key 存在并且没有设置过期时间(永久有效),返回 -1 。Move key db # 将当前数据库的 key 移动到给定的数据库 db 当中。如果当前数据 库( 源数据库 ) 和给定数据库 ( ⽬标数据库 ) 有相同名字的给定 key ,或者 key 不存 在于当前数据库,那么 MOVE 没有任何效果。TYPE key # 返 回 key 所存储的 value 的数据结构类型。DEL key # 删除指定的⼀批keys ,如果删除中的某些 key 不存在,则直接忽略
String类型相关命令
SET :添加或者修改已经存在的⼀个 String 类型的键值对(如果 key 不存在则是新增,如果存在则是修改)GET :根据 key 获取 String 类型的 valueGETSET :先获取在设置,如果 get 时值不存在返回空,然后在进⾏设置,如果 get时值存在,返回对应的值,在进⾏修改APPEND : Append 命令⽤于为指定的 key 追加值,如果 key 已经存在并且是⼀个 字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执⾏ SET key value ⼀样。MSET :批量添加多个 String 类型的键值对如:mset name1 xiaoming name2 xiaohong # 批量设置MGET :根据多个 key 获取多个 String 类型的 value如:mget name1 name2MSETNX : 命令⽤于所有给定 key 都不存在时,同时设置⼀个或多个 key-value 对。(原⼦性操作)INCR :命令将 key 中储存的数字值增⼀。如果 key 不存在,那么 key 的值会先被 初始化为 0 ,然后再执⾏ INCR 操作。如果值包含错误的类型,或字符串类型的 值不能表示为数字,那么返回⼀个错误。本操作的值限制在 64 位 (bit)有符号数字表示之内。INCRBY: 让⼀个整型的值⾃增并指定步⻓(例如: num 5 让 num 值⾃增 5 ,其余与上⽅⼀致)DECR :命令将 key 中储存的数字值减⼀(与 INCR 命令相反,其余⼀致)。DECRBY : 命令将 key 所储存的值减去指定的减量值(与 INCRBY 相反,其余⼀致)。SETNX :添加⼀个 String 类型的键值对,前提是这个 key 不存在,否则不执⾏(与 MSETNX 区别在于,此命令只能设置⼀组 key:value )SETEX :命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值
list类型相关命令
LPUSH key value1 value2 将⼀个或多个值插⼊到列表头部(左侧)LRANGE key start stop 获取列表指定范围内的元素,根据下标RPUSH key value1 value2 在列表中(右侧)添加⼀个或多个值LPOP key 移除并获取列表的第⼀个元素RPOP key 移除并获取列表最后⼀个元素LINDEX key index 通过索引获取列表中的元素LLEN key 获取列表⻓度LREM key count value 移除列表元素(可以移除多个重复的值)LTRIM key start stop 对⼀个列表进⾏修剪 (trim) ,就是说,通过下标让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。RPOPLPUSH source destination 移除列表的最后⼀个元素,并将该元素添加到另⼀个列表并返回EXISTS 也可以判断列表中是否有值( exists list )LSET key index value 通过索引设置列表元素的值(需要保证现有列表和下标存在,⼀般作为更新操作)LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插⼊元素BLPOP key1 key2 timeout 移出并获取列表的第⼀个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为⽌。BRPOP key1 key2 timeout 移出并获取列表的最后⼀个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为⽌。
set类型相关命令
SADD key member1 [member2] 向集合添加⼀个或多个成员SMEMBERS key 返回集合中的所有成员SISMEMBER key member 判断 member 元素是否是集合 key 的成员SCARD key 获取集合的成员数SREM key member1 [member2] 移除集合中⼀个或多个成员SRANDMEMBER key [count] 返回集合中⼀个或多个随机数SPOP key 移除并返回集合中的⼀个随机元素 ( 原⼦操作,多个客户端并发访问时,每个返回的元素都是唯⼀的)SMOVE source destination member 将 member 元素从 source 集合移动到destination 集合SDIFF key1 key2 返回给定所有集合的差集(两个 set 中不同的值,⽬前以 key1 为参照为)SINTER key1 key2 返回给定所有集合的交集(两个 set 中相同的值)SUNION key1 key2 返回所有给定集合的并集 (两个 set 中所有的值,重复的只有⼀个)SDIFFSTORE destination key1 key2 返回给定所有集合的差集并存储在destination 中SINTERSTORE destination key1 key2 返回给定所有集合的交集并存储在destination 中SUNIONSTORE destination key1 key2 所有给定集合的并集存储在 destination 集合中
Hash类型相关命令
HSET key field1 value1 field2 value2 同时将多个 field-value ( 域 - 值 ) 对设置到哈希表 key 中HGET key field 获取存储在哈希表中指定字段的值HMGET key field1 field2 获取所有给定字段的值HGETALL key 获取在哈希表中指定 key 的所有字段和值HDEL key field2 field2 删除⼀个或多个哈希表字段HLEN key 获取哈希表中字段的数量HKEYS key 获取所有哈希表中的字段HVALS key 获取哈希表中所有值HEXISTS key field 查看哈希表 key 中,指定的字段是否存在HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量increment(如果是负数,就是减量)HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值(原⼦性操作)
zset类型相关命令
ZADD key score member [score member ...] 向有序集合添加⼀个或多个成员,或者更新已存在成员的分数ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员。成员按分数值递增( 从⼩到⼤ ) 来排列。ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 通过分数返回有序集合指定区间内的成员( 分数可以采⽤正负⽆穷⼤ -inf +inf) 。ZREM key member 从有序集合中删除⼀个成员。ZCARD key 返回有序集合的成员数量ZCOUNT key min max 返回有序集合中分数在给定范围内的成员数量。ZSCORE key member 返回有序集合中指定成员的分数。