- String k-v 单个key最大能存521MB ,约等于 多少个文字呢?
增: set key value 例子:set adminName ‘zhangsan’ 查: get key 例子:get adminName 查询所有的key 例子:keys * 删key: del key 例子:del adminName
String的特有命令 (重用)过期时间:setex 存的时候就给定一个过期时间。验证码就用它 setex key time value先时间后value (重用) 自增(减) incr 场景:抖音点赞,产品的热销排行。自增的值一定是数字 (增)incr key 定量增:incrby 格式:incrby key 增加的数值 自减:decr key 定量减少:decrby 格式:incrby key 减少的数值 批量增: mset key1 value key2 value 批量增: mget key1 key2 字符串截取: getrange key start end 先查在存:getset 格式 getset key value 将给定的key值设置value并返回key的旧值。应用场景:工资! 字符串长度:strlen key的长度 不存在的key长度为0 字符串的追加: append key value ,追加的位置是 value的末尾
//其他的通用命令 1.DUMP 给定key中的值进行序列化 返回值是 序列化后的值 了解** 2.exists key 值是否存在 很常用! 返回值是1 或者0 1代表存在 0代表不存在 3.expire 给key 做一个过期时间 ,写的值 是过期秒数 例子:set phoneCode 3343 ,expire phoneCode 60 到期之后 key值自动删除 这个很常用!!! 4.ttl查询 还剩余 多少时间 过期 秒为单位 应用场景 1)订单15分钟有效 2)考试 5. persist 移除key的过期时间 将key保持为持久状态 6. rename更改key值 这个 不常用 !!! 7. renamenx 当key 新的key 不存在时 改名为新名字 ,了解 8.type key 返回key的数据类型 9.randomkey 随机出key 抽奖常用的 应用场景:点名。
二: Hash 哈希 类型。适合存储对象 增 :hset 例子: hset person name “zhangsan” 删 : hdel person name 批量增 hmset person name “zhangsan” age 12 boyfriend “xiaosun” 批量查 hmget person name age 查:hget person age 查所有key: hkeys person 查询所有key和value :hgetall person hash字段的自增 :hincrby person 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 “刘备” “张三” 查单:lindex hero 0 删除指定的值 比较复杂 lrem hero count value count>0 表示从头向尾 从左到右 搜索 移除和 value 相等元素 数量为count count<0 表示从尾向头 从右到左 搜索 移除和 value 相等元素 数量为count 的绝对值 count=0 表示 移除表中所有与value相等的值 注意:因为是list的数据类型,所有 值是可以 相同的 比如 有两个张三
四:set 数据类型 set无序 不能重复 做扑克牌 增:sadd key value 查条数: scard 获取key的成员数量 查全:smembers key 返回集合中的所有value 指定删除: srem key value 随机删除 spop key 用途很广,作业:用java代码写,把咱们班33个人的名字 形成一个set集合 随机点一个人的名字 就把这个人的名字移除 随机查:srandmember key 查单个
五:zset sortset 有序的set集合 可以有序但不能重复 他是set 的扩展版 每个元素都关联了个double类型的分数 根据分数的大小进行排序 排序规则是 从小到大 分数可以并列及分数可以重复 成员(value) 必须唯一 底层是哈希表实现的 添加删除很快 增加: zadd key 分数 值 pnames zadd pnames 1 “zhangsan” 遍历: zrange key 0 -1 withscores 加上withscores 带分数 不带 直接全部显示值 查条数: zcard key 指定删除: 移除集合中一个或多个成员 zrem key value
|