1.redis常见数据类型-字符串String、列表List、集合Set、Hash哈希、Zset有序集合
背景:
- 这里说的数据类型是value的数据类型,key的类型都是字符串。
- 命令不区分大小写,而key的值是区分大小写的
- help @+数据类型 会出现命令提示 比如 help@string,help@list
常见命令:
keys * 查看当前库所有key (匹配:keys *1) exists key 判断某个key是否存在 type key 查看你的key是什么类型 exists key 判断某个key是否存在 del key 根据value选择非阻塞删除 unlink key 判断某个key是否存在 仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作 expire key 10 10秒钟:为给定的key设置过期时间(单位是s) ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期 select 命令切换数据库 dbsize 查看当前数据库的key的数量 flushdb 清空当前库
字符串类型 - String
①. String是Redis最基本的类型,一个key对应一个value。
②. String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象
③. String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M
String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构实现上类似于Java的ArrayList
④. 存储( set key value) 获取(get key) 删除(del key)
⑤. 其他关于String的操作指令
-
append key value 将给定的value 追加到原值的末尾 strlen key 获得值的长度 setnx key value 只有在key不存在时,设置key的值(分布式锁) incr key 将 key 中储存的数字值增1,只能对数字值操作,如果为空,新增值为1 decr key 将 key 中储存的数字值减1,只能对数字值操作,如果为空,新增值为-1 incrby / decrby key 步长 将key中储存的数字值增减。自定义步长 mset key1 value1 key2 value2 同时设置一个或多个 key-value对 mget key1 key2 key3 同时获取一个或多个value msetnx key1 value1 key2 value2 同时设置一个或多个key-value,当且仅当所有给定key都不存在,才会执行成功 getrange key 起始位置 结束位置 获得值的范围,类似java中的substring,前包,后包 setrange key 起始位置 value 用 value 覆写key所储存的字符串值,从起始位置开始(索引从0开始)。 setex key 过期时间 value 设置键值的同时,设置过期时间,单位秒 getset key value 以新换旧,设置了新值同时获得旧值
⑥. 分布式锁
setnx key value -
⑦. 应用场景一:比如抖音无限点赞某个视频或者商品,点一下加一次
-
- ⑧. 应用场景二:是否喜欢的文章(阅读数:只要点击了rest地址,直接可以使用incr key 命令增加一个数字1,完成记录数字)
有志者、事竟成,破釜沉舟,百二秦关终属楚;
苦心人、天不负,卧薪尝胆,三千越甲可吞吴.
加油吧,致每个正在奋斗路上的你!!!