本博客介绍了redis的一些全局命令、数据结构(string,hash)
一、全局命令
1.查看所有键:keys *
2.键总数:dbsize会回当前数据库的总数
3.检查键是否存在:exists key如果键存在返回1,不存在返回0;
4.删除键:del key del
del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除。
5.键过期:expire key seconds
reids支持对键添加过期时间,当过期时间后,会自动删除键单位是“秒”
ttl命令会返回返回键的剩余过期时间。
大于等于0:键剩余的过期时间
-1:键没设置过期时间
-2:键不存在
命令为:ttl key
6.键的数据结构类型
type key 如果键不存在则返回none
type命令实际返回当前键的数据结构类型:它们分别是:string(字符串),hash(哈希) list(列表),set(集合),zset(有序集合)
二、数据结构
1.字符串(string)
字符串类型是redis最基础的数据结构,字符串类型的实际值可以是字符串(简单的字符串,复杂的字符串(json、xml),数字(整数,浮点数)甚至是二进制(图片、音频、视频)但是最大不能超过512M.
1.1常用命令
1)设置值:set key value[ex second][px second]
set命令有几个选项:
ex:seconds:为键设置秒级过期的时间。
px:millseconds:为键设置毫秒级过期时间。
nx:键必须不存在,才可以设置成功用于添加
xx:与nx相反,键必须存在,才可以设置成功,用于更新。
2)获取值:get key,如果键不存在会返回nil(空)
3)批量设置值:mset key value[key vaue ...]
4)批量获取值:mget key [key ...]
批量操作可以有效的提高开发效率,
如果n次get命令具体耗时如下:n次get时间=n次网络时间+n次命令时间;
如果是mget具体耗时如下:n次get时间=1次网络时间+n次命令时间
5)计数:incr key
incr命令用来对值做自增操作,返回结果有三种情况:
1.值不是整数,返回错误
2.值是整数,返回自增后的结果
3.键不存在 按照值为0自增,返回结果为1
除了incr自增,还有decr(自减)、incrby(自增指定数字),decby(自减指定数字)
incrbyfloat(自增浮点数)
2.哈希
哈希类型是指键值本身又是1个键值对结构
2.1命令
设置值:hset key field value
获取值:hget key field
删除field:hedl key field[field ...]
计算field的个数:hlen key
批量设置或获取field-value
批量设置:hset key field value[field value ...]
批量获取:hget key field value[field value ...]
判断field是否存在:hexists key field
获取所有field:hkeys key
获取所有value:hvals key
获取所有的field-value:hgetall key
下一篇会介绍集合和列表。
相关文章
- 如何在速度模板中的for循环内为div生成唯一的类名?
- 如何将一个numpy数组分割成固定大小的块,是否有重叠?
- 分享一个免*的GPT,刷题和学习的好帮手
- 2023年程序员数据报告:全球有 2690 万程序员,近一半不到35岁,Rust是最受期待的编程语言
- LeetCode.每日一题 2427. 公因子的数目
- Redis集群的最大槽数为什么是16384个?
- SpringBoot 结合RabbitMQ与Redis实现商品的并发下单【SpringBoot系列12】
- redis 存储一个map 怎么让map中其中一个值设置过期时间,而不是过期掉整个map?
- 分享一个OTA升级相关的应用实践!
- 理想汽车的雷达在无人陵园内看到鬼?网友:按一下喇叭看会不会聚过来!