redis学习
切换数据库: select
设置 : set
设置多个 : mset
取值:通过键取出值
数据的过期时间: set 后面加ex 是秒 px是毫秒
第二种方法:expire 设置过期时间
ttl表示还剩多少的时间 -1表示永久 -2表示无了
pttl表示毫秒显示
persist表示转换成永久形式
删除 del <key>
搜索所有的键值对的时候 用key s*
是否存在使用 exists
randomkey 表示随便拿一个键值对
将一个数据库移动到另一个数据库 move<key> db
修改名字: remame<key> 新的名称
字符串追加:APPEND key value
自增自减得操作:
incr key 前提是值是纯数字
incrby key 指定加多少 decr 与 decrby同样的操作
Hash
类似于 key string 值为Map<String,String>
hset key 字段名字 字段 值 字段 值
hmset是多个
hget key 字段
hmget是取多个值哈
获取所有 hgetall
判断是存在:
hexists《key》 字段
删除:hdel key field文件
hlen Hash中有多少个键值对
hvals 获取hash中的所有键值对的值
hkeys 获取hash中所有的key
hash中只能存放字符串 不能出现嵌套的情况
List 列表 存放一系列 随机访问 支持双端操作 列表
操作:
lpush 《key》 《element》头部添加 头插法
rpush key element 尾部添加 尾插法
在指定元素添加
linsert key before/after 指定元素 element
获取元素:
lindex 《key》index 从0开始的
lpop key 移除头部元素并获取
rpop key 获取并移除尾部元素
获取所有元素
lrange key start stop -1是最后一个元素 python
可以使用负数来使用 python
rpoplpush 当前数组 目标数组 :
从前一个数组 最后一个取出来放到另一个数组的头部
阻塞操作
blpop :
类似于 生产者和消费者的关系
Set集合:
HashSet 不允许出现重复元素 不支持随机访问,能够利用Hash表提高效率
用法:
sadd key vlaue vlaues
sacrd key 查看set集合有多少个值
判断集合是否包含
sismember key value
列出所有值
smembers key
集合之间的运算
sdiff key1 key2 2没有1的东西 差集
sinter a b 交集
sunion a b 并集
smove key 目标 value
删除操作
srem key values
排序:
SortedSet zadd key value score
查询 zcard key
移除 zrem key value
同样的 获取区间的所有
zrange key start stop 根据分数进行排序
zrangebyscore a 0 20 withscores limit 0 2
zcount a 5 20