# 命令行客户端
# 图形化客户端
# 编程客户端
数据类型
key的数据类型是字符串
value有五种基本数据类型:
String,Hash,List,Set,SortedSet
通用命令
help @generic # 列出一些通用的指令清单
clear # 清屏
keys * # 列出所有的key(生产环境下不建议使用)
exists key # 指定key是否存在
type key # 返回key所存储的值的类型
ttl key # 返回剩余有效时间
del key # 删除key
expire key 20 # 设置有效期20秒
key的层级结构
# 可以进行归类以及避免重名
# 项目名:业务名:keyName
set heima:user:1 value
set heima:product:1 value
String类型
set key value # 设置值
get key # 取值
mset key value key value# 批量添加
mget key key # 批量获取
incr key # 使对应的值增1(值需要是数字)
incrby key 2# 使对应的值增2
setex key seconds value # 设置值,同时设置过期时间
setnx key value # 当key不存在时,才设置值
Hash类型
hset key field value # 设置值
hget key field # 取值
hmset key field value field value # 同时设置多个field值
hmget key field field field # 同时获取多个field值
hdel key field # 删除值
hkeys key # 获取所有field
hvals key # 获取所有value
hgetall key # 获取所有field和所有value
List类型
lpush key value1 [value2]... # 向左侧插入元素
lpop key # 移除并返回左侧第一个元素(没有则返回nil)
rpush key value1 [value2]... # 向右侧插入元素
rpop key # 移除并返回右侧第一个元素
lrange key start stop # 获取[start,stop]的元素,start为0,stop为-1,即获取所有
llen key # 获取列表长度
brpop key timeout # 移除并返回右侧第一个元素,如果列表中已经没有元素,会等待,直到发现可弹出元素或者等待时间结束
Set类型
sadd key value1 [value2]...# 添加元素
srem key value1 [value2]...# 移除元素
smembers key# 返回集合中的所有元素
scard key# 返回集合中元素数量
sismember key value# 元素是否存在
sinter key1 [key2]# 返回交集
sunion key1 [key2]# 返回并集
sdiff key1 [key2] # 返回差集
SortedSet类型
# SortedSet中每个元素都有一个score属性,基于score对元素排序
# 底层实现是一个跳表加hash表
zadd key score1 value1 [score2 value2] # 添加元素或者更新分数
zrem key value1 [value2]... # 移除元素
zscore key value # 获取指定元素的score值
zrank key value # 获取指定元素的排名
zcard key # 获取元素个数
zcount key min max # score值在给定范围内的元素的个数
zrangebyscore key min max # 获取指定score范围内的元素
zrange key min max # 返回指定排名区间元素
zincrby key increment value # 对指定元素的分数加increment