1.String k-v 单个key最大能存 521MB, 约等于多少个文字呢?
增(改): set key value 例子: set adminName 'zhangsan'
查:get key 例子:get adminName
查询所有的key keys * 例子:keys *
删key: del key 例子:del adminName
String的特有命令
(重要)过期时间 :setex 存的时候就直接给定一个过期时间 验证码就用它 setex code 60 3432423
(重要)自增(减)incr 场景:抖音点赞,产品的热销排行。自增的值一定是数字 例如:
自减:decr key
定量增:incrby incrby mycode 50
定量减:decrby decrby mycode 50
批量增:mset key1 value key2 value
批量增:mget key1 key2
字符串截取 :getrange key start end
先查在存:getset 格式:getset key value
将给定的key值设置value,并返回key的旧值 工资
先时间,后是value
字符串长度:strlen key 的长度,不存在的key的长度是0
字符串追加:append key value,追加的位置是 value 的末尾
//其他的通用命令
1.DUMP给定key中的值进行 序列化,返回值是 系列化后的值,了解
2.exist key值是否存在,很常用! 返回值是1 或者0, 1代表存在,0代表不存在
3.exprire 给key 做一个过期时间,写的值是 过期秒数 例子: set phoneCode 3343, expire phoneCode 60
到期之后,key自动删除,这个很常用
4. ttl 查询 还剩余多少时间 过期 秒为单位,应用场景 1订单15分钟有效, 2考试
5.persist 移除key 的过期时间,将key保持为持久状态 开票
6.rename 更改key值,这个不常用 ,自己测试
7.renamex 当key 新的key 不存在时,改名为 新名字, 了解
8.type key 返回key的数据类型--5中
9.randomkey 随机出key 抽奖常用的,点名 作业4:做一个随机点名程序,被点到的人 移除出去
二:Hash 哈希 类型 适合存储对象
增:hset 例子:hset food name 'apple'
批量增: hmset food name 'apple' color
批量查:hmget human name age
查:hget food color
查所有key: hkeys food
查所有key 和value : hgetall human
hash 字段的自增: hincrby human age 10
key person value 一堆 k v 组合
hash 数据类型的遍历: Hscan 不怎么常用,自己测试
三:list --双端队列结构,先进后出,排序是按照 插入的顺序排序
比如: 沙和尚 猪八戒 孙悟空 唐僧 刘备 关羽 张飞 赵四
左边增: lpush key xxx
右边增: rpush key xxx
遍历: lrange key 0 -1
左边删除:lpop key
右边删除:rpop key
插入: linsert hero before "刘备" hero就是key
查单:lindex hero 0
删除指定的值 比较复杂 lrem hero count value
count >0 表示 从头向尾巴, 从左到右 搜索,移除何 value 相等 元素,数量为count
count >0 表示 从尾巴向头, 从右到左 搜索,移除何 value 相等 元素,数量为count 的绝对值
count = 0 表示 移除表中所有与value相等的值
注意:因为list的数据类型,所以值是可以 相同的,比如 有两个tangseng
四:set 数据类型,set无序,不能重复,做扑克牌
增:sadd key value
查条数:scard 获取 key 的成员数量
查全: smembers 返回集合中的所有value
按索引查单??没有 因为没有顺序,就没索引
指定删除:srem key value
随机删除! 作业:用java代码写,把咱们班33个人的名字 形成一个集合,点一个人的名字,就把这个人的名字移除,再次点名 是把32个人的随机中的一个
随机删除:spop names
随机查:srandmember
五:zset sortset,有序的set集合。可以有序但是不重复
他是set 的扩展版,每个元素都关联了个double类型的分数,根据分数的大小,进行排序
排序规则是 从小到大,分数可以并列 即 分数可以重复,成员(value)必须唯一
底层是 哈希表实现的,添加删除 很快
增加:zadd key 分数值, pnames,
遍历: zrange key 0 -1 withscores 加上withscores 带分数,不带 直接全部显示值
查条数: zcard key
指定删除:移除集合中的一个或者多个成员 zrem key value
以上就是redis常用的命令