此篇文章介绍 Redis 在 window环境下的使用
Redis 键
# 具体命令:type/rename/move/dump/ttl/expire/exists/
keys/renamenx/randomkey/persist/
type key ————————————————————————————————————— 返回值类型
rename key newkey ———————————————————————————— 修改key值
move key other_database —————————————————————— 移动key至其它数据库
dump key ————————————————————————————————————— 返回其序列化后的值
ttl key —————————————————————————————————————— 返回当前key的生存时间
expire key time —————————————————————————————— 设置key的生存时间
exists key ——————————————————————————————————— 判断key是否存在
keys p* —————————————————————————————————————— 返回符合要求的键值(此处为以p开头即可)
renamenx key newkey —————————————————————————— 修改key值(当newkey不存在时修改成功)
randomkey ———————————————————————————————————— 随机返回数据库中的key
persist key —————————————————————————————————— 移除key的过期时间
Redis 的常用五大类型
五大类型分别是 string、list、hash、set 和 zset
string 类型(字符串)
# 基本命令:set(mset)/get(mget)/del/append/strlen
set key value ———————————————————————————————— 设置单个值
mset key1 value1 key2 value2 ————————————————— 设置多个值
get key —————————————————————————————————————— 取单个值
mget key1 key2 ——————————————————————————————— 取多个值
del key —————————————————————————————————————— 删除单个值
append key value ————————————————————————————— 指定字符串添加字段
strlen key ——————————————————————————————————— 返回对应的字符串长度
# 扩展命令:setnx(msetnx)/setex(psetex)/decr(decrby)/
incr(incrby,incrbyfloat)/getset/setrange(getrange)
setnx key value —————————————————————————————— 设置单个值(当key不存在时)
msetnx key1 value1 key2 value2 ——————————————— 设置多个值(当key不存在时)
setex key time value ————————————————————————— 设置单个值(生存时间:单位s)
psetex key time value ———————————————————————— 设置单个值(生存时间:单位ms)
decr key ————————————————————————————————————— 递减1(存储为整数时)
decrby key count ————————————————————————————— 递减count(存储为整数时)
incr key ————————————————————————————————————— 递增1(存储为整数时)
incrby key count ————————————————————————————— 递增count(存储为整数时)
incrbyfloat key count ———————————————————————— 递增count(存储为数字时)
setrange key index newvalue —————————————————— 设置其子字符串内容
getrange key index_start index_end ——————————— 取指定区间的子字符串(均为闭区间)
hash 类型(哈希)
# 基本命令:hset(hmset)/hget(hmget)/hgetall/hdel/hkeys(hvals)
hset table field value ——————————————————————— 向哈希表中添加单个键值对
hmset table field1 value1 field2 value2 —————— 向哈希表中添加多个键值对
hget table field ————————————————————————————— 从哈希表中取出单个值
hmget table field1 field2 ———————————————————— 从哈希表中取出多个值
hgetall table ———————————————————————————————— 取出哈希表中所有的键值
hdel table field—————————————————————————————— 移除哈希表中key对应的键值对
hkeys table —————————————————————————————————— 取出哈希表中所有的字段field
hvals table —————————————————————————————————— 取出哈希表中所有的value
# 扩展命令:hsetnx/hlen/hincrby(hincrbyfloat)/hexists
hsetnx table key value ——————————————————————— 向哈希表中添加单个键值对(field不存在)
hlen table ——————————————————————————————————— 返回哈希表中的字段数
hincrby table fileld count ——————————————————— 递增count(指定哈希表里面的数字字段)
hincrbyfloat table fileld count —————————————— 递增count(指定哈希表里面的数字字段)
hexists table field —————————————————————————— 判断哈希表里字段field是否存在
list 类型(列表)
# 基本命令:lpush/rpush/lrange/lpop/rpop/lindex/
llen/lrem/ltrim/rpoplpush/lset/linsert
lpush list value1 value2... —————————————————— 从左侧插入数据到列表中
rpush list value1 value2... —————————————————— 从右侧插入数据到列表中
lrange list index_start index_end ———————————— 根据索引区间获取列表中的元素
lpop list ———————————————————————————————————— 移除最左侧的元素
rpop list ———————————————————————————————————— 移除最右侧的元素
lindex list index ———————————————————————————— 按照索引获取元素
llen list ———————————————————————————————————— 获取列表的长度
lrem list count value ———————————————————————— 删除指定数量count的value
ltrim list index_start index_end ————————————— 获取子列表并且赋值给原列表
rpoplpush list1 list2 ———————————————————————— 将list1最右侧的元素挤压到list2的最左侧
lset list index value ———————————————————————— 替换列表指定索引的一项
linsert list before/after value1 value2 —————— 向列表指定元素前后插入一项元素
unsorted set 类型(无序集合)
# 基本命令:sadd/smembers/sismember/scard/srem/srandmember/spop/smove
sadd set value1 value2... ———————————————————— 添加元素到集合中(自动去重)
smembers set ————————————————————————————————— 查看集合中的元素
sismember set value —————————————————————————— 判断集合中是否存在value
scard set ———————————————————————————————————— 获取集合中的元素个数
srem set value ——————————————————————————————— 删除集合中的元素
srandmember set count ———————————————————————— 随机列出集合中count个数
spop set ———————————————————————————————————— 随机出栈集合中的元素
smove set1 set2 value ———————————————————————— 将集合set1中的元素value添加到set2中
# 扩展命令:sdiff/sinter/sunion
sdiff set1 set2 —————————————————————————————— 求两个集合的差集
sinter set1 set2 ————————————————————————————— 求两个集合的交集
sunion set1 set2 ————————————————————————————— 求两个集合的并集
sorted set 类型(有序集合 - zset)
# 基本命令:zadd/zrange(zrevrange)/zscore/
zrangebyscore/zrem/zcard/zcount/zrank
zadd zset value1 key1 value2 key2... ————————— 添加数据到集合中
zrange zset index_start index_end withscores — 根据索引区间获取集合中成员及其分数
zscore zset key —————————————————————————————— 获取集合中指定成员的分数
zrangebyscore zset value_min value_max ——————— 根据value区间来取成员
zrem zset key ———————————————————————————————— 删除集合中的键值对
zcard zset ——————————————————————————————————— 求集合的总条数
zcount zset value_min value_max —————————————— 指定范围求总条数
zrank zset key ——————————————————————————————— 返回集合中成员的索引项
# 扩展命令:zincrby/zrangebylex//zrevrangebylex
zincrby zset count key ——————————————————————— 递增count(集合中key对应的分数)
zrangebylex zset index_s index_e ————————————— 从集合中取出字典区间的元素
# e.g. zrangebylex zset [a (f
zrevrangebylex zset index_s index_e —————————— 移除集合中字典区间的元素
# e.g. zrevrangebylex zset [a (f
|