一、指令操作
1、keys * 查看当前库中所以key (匹配:keys *1)
2、exists key 判断某个key是否存在
1:表示存在 0:表示不存在
3、type key 查看key的类型
4、del key 删除指定key的数据
5、unlink key 根据value选择非阻塞删除(仅将keys从keyspace元数据中删除,真正删除会在后续异步操作)
6、expire key 10 为key设置过期时间为10秒钟
7、ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
8、select 1 命令切换数据库(默认为o号数据库)
9、dbsize 查看当前数据库的key数量
10、flushdb 清空当前库
11、flushall 通杀全部库
二、类型操作
1、String
Redis最基本的数据类型,一个Redis字符串中value最多可以是512M
使用set指令添加
使用get获取value
append指令:在key对应的value后面进行追加,返回value的长度
strlen指令:获取value的长度
setnx指令:只有key不存在时,设置key的值,存在时不能被覆盖
incr 和 decr指令:只能对数字值进行操作,如果为空,新增值为1
incrby 和 decrby指令:只能对数字值进行操作,可以指令增加数值
mset指令:可以设置一个或多个键值对
mget指令:可以获取一个或多个key值
msetnx指令:只能给不存在的key进行赋值
getrange指令:获取范围内的值
setex指令:设置键值对并增加过期时间
getset指令:以旧换新,设置成新的值获取到旧的值
2、List
lpush/rpush指令:从左边/右边插入一个或多个值
lrange指令:从左边取值,0到-1表示取所以值(从左往右获取)
lpol/rpop指令:从左边/右边取出一个值(取出就从value中消失)
rpoplpush <key1><key2>指令:从key1列表右边取出一个值插入key2列表左边
lindex指令:按照索引下标获取值
llen指令:获取列表长度
linsert <key> before/after <value><newvalue>在value前面/后面插入newvalue的值
lrem <key> <n> <value> 从左边删除n个value
lset <key> <index> <value>将列表key下标为index的值替换成value
3、set
sadd指令:将一个或多个元素加入到集合当中,已经存在的元素将被忽略
smembers指令:取查询k1的所有值
sismember指令:判断集合key中是否含有某个value值(1表示存在。0表示不存在)
scard指令:返回该集合元素个数
srem指令:删除key中的某些value
spop指令:随机从该集合中取出一个值
srandmenmber指令:随机从集合中取出n个值,但是不会从集合中删除
smove <source> <destination> value 把集合中的一个值从一个集合移动到另一个集合
sinter <key1> <key2>指令:返回两个集合的交集
sunion <key1> <key2>指令:返回两个集合的并集
sdiff <key1> <key2>指令:返回两个集合的差集
4、Hash
hset指令:赋值
hget指令:获取值
hmset指令:批量增加hash的值
hexists指令:判断某个hash中是否存在field
hkeys指令:查询hash中所的的field
hvals指令:查询hash所有的value值
hincrby指令:给hash中的field的值增加数量
hsetnx指令:将hash标中的key中的域field的值设置为value,当且仅当域的field不存在
5、有序集合Zset
zadd指令:将一个或多个member元素及其score值加入到有序key当中
zrange指令:取范围内的值(0到-1取所有值)
在指令后面添加withscores显示评分
zrangebyscore指令:取评分在min和max之间的值
zrevrangebyscore指令:score从大到小排序
zincrby <key> <increment> <value>指令:为元素的score加上增量
zrem指令:删除该集合下指定值的元素
zcount <key> <min> <max>指令:统计该集合分数区间内的元素个数
zrank <key> <value>指令:返回该值在集合内的排名,从0开始