当前位置: 首页 > news >正文

【Redis】常见基本全局命令

在这里插入图片描述

一、Redis俩大核心命令

由于Redis是以键值对的形式进行数据存取,自然就离不开不断的存储和获取,而其所对应的命令则是set和get,如此说来二者为Redis的核心基础命令也不为过。
在这里插入图片描述

作用:用于存储Stirng类型的数据
返回:当key不存在时设置成功返回OK,当key存在时对原有值进行覆盖
参数:NX表示key不存在时进行存储,XX表示存在时进行存储,EX、PX为设置过期时间,EX时间为s,PX时间为ms

127.0.0.1:6379> set key 111		设置key——value
OK
127.0.0.1:6379> get key			获取value
"111"
127.0.0.1:6379> set key 222		再次设置key对应value值
OK
127.0.0.1:6379> get key			value值被覆盖
"222"
127.0.0.1:6379> set key 111 NX		
(nil)						key存在,设置失败返回nil
127.0.0.1:6379> set key 111 XX
OK							key存在,设置成功
127.0.0.1:6379> get key
"111"

在这里插入图片描述

作用:获取key所对应的值
返回:当key存在时返回value,不存在时返回nil,当key存储值不为string类型时返回报错,get只能用于string类型获取。

127.0.0.1:6379> set key 111
OK
127.0.0.1:6379> get key		获取value
"111"
127.0.0.1:6379> hset hash field 222	存储hash类型数据
(integer) 1
127.0.0.1:6379> get hash		尝试获取非string数据,获取失败报错
(error) WRONGTYPE Operation against a key holding the wrong kind of value

上述GET、SET只针对value为string类型时有效,value存储数据类型可以为String、Hash、List、Set、ZSet,不同数据结构都有不同种操作命令都是在此基础上进行拓展。

二、常见基本全局命令

在这里插入图片描述
作用:返回所有匹配参数的value值,具有以下几个参数

参数作用
匹配单个字符
*匹配0-nge字符
[ab]匹配中括号里的字符
[^a]排除中括号里的字符
[a-b]匹配中括号区间内的字符

在这里插入图片描述
作用:判断key是否存在,可同时判断多个key
返回:当ke存在时返回1,不存在时返回0,多个同时存在时返回存在的个数

127.0.0.1:6379> set key 111
OK
127.0.0.1:6379> exists key		key存在返回1
(integer) 1
127.0.0.1:6379> exists key2		key2不存在,返回0
(integer) 0
127.0.0.1:6379> set key2 222
OK
127.0.0.1:6379> set key3 333
OK
127.0.0.1:6379> exists key key2 key3	同时都存在,返回存在个数
(integer) 3

在这里插入图片描述
作用:删除存在的key
返回:key存在删除成功返回1,不存在删除失败返回0

127.0.0.1:6379> set key 111
OK
127.0.0.1:6379> set key2 222
OK
127.0.0.1:6379> keys *		查询存在的key
1) "key2"
2) "key"
127.0.0.1:6379> del key3	不存在删除失败返回o
(integer) 0
127.0.0.1:6379> del key2	存在删除成功返回1
(integer) 1
127.0.0.1:6379> keys *
1) "key"

在这里插入图片描述
作用:判断key所剩余的过期时间
返回:若key设置过期时间则返回过期时间,没设置则返回-1,key不存在返回-2

127.0.0.1:6379> set key 111
OK
127.0.0.1:6379> set key2 222 ex 60	设置过期时间60s
OK
127.0.0.1:6379> ttl key				未设置返回-1
(integer) -1
127.0.0.1:6379> ttl key2			设置返回过期时间
(integer) 51
127.0.0.1:6379> ttl key3			不存在返回-2
(integer) -2

注:ex设置过期时间单位为s,用ttl查看过期时间;pex设置过期时间单位为ms,用pttl查看过期时间

在这里插入图片描述
作用:返回value中存储数据类型
返回:返回值可能为String、Hash、List、Set、ZSet

127.0.0.1:6379> set key 111
OK
127.0.0.1:6379> hset key2 field hello
(integer) 1
127.0.0.1:6379> type key
string
127.0.0.1:6379> type key2
hash

问:Redis中的过期策略是如何实现的?

答:主要通过惰性删除和定期删除两种方式进行实现
惰性删除:当某个key存在并设置过期时间,再次访问该key时发现已经过期便进行删除。
定期删除:定期扫描一定数量的key来进行检查删除,少量多次进行避免线程的阻塞。

http://www.lryc.cn/news/472288.html

相关文章:

  • 探索国际数据空间(IDS)架构(上)
  • 如何选择好用的U盘数据恢复软件免费版?2024年热门榜单有哪些?
  • 音视频入门基础:AAC专题(12)——FFmpeg源码中,解码AudioSpecificConfig的实现
  • UDP组播测试
  • 【Nas】X-Doc:jellyfin“该客户端与媒体不兼容,服务器未发送兼容的媒体格式”问题解决方案
  • 504 Gateway Time-outopenresty
  • SpringBoot篇(自动装配原理)
  • 《Web性能权威指南》-WebRTC-读书笔记
  • 跨境电商独立站:打造你的全球品牌
  • 基于uniapp微信小程序的旅游系统
  • 怿星科技薛春宇丨智能汽车软件研发工具链国产化的挑战和探索
  • Flutter动画渐变
  • Python毕业设计选题:基于Web学生会网站的设计与实现-django
  • 如何选购高性价比百元头戴式耳机?六大选购技巧加性价比耳机推荐
  • Java爬虫的京东“寻宝记”:揭秘商品类目信息
  • React前端框架
  • React-query vs. 神秘新工具:前端开发的新较量
  • TensorFlow面试整理-分布式
  • OceanBase 回收站机制详解
  • Java特工队:潜入京东,高效获取商品详情的绝密行动
  • 车易泊相机 —— 智能车位管理的得力助手
  • C++初阶(七)--类和对象(4)
  • Python 爬虫的寻宝大冒险:如何捕获 API 数据的宝藏
  • 电力物联网环境下的售电研究
  • Oracle视频基础1.1.4练习
  • 【水下生物数据集】 水下生物识别 深度学习 目标检测 机器视觉 yolo(含数据集)
  • 【宠物狗狗数据集】 犬类品种识别 宠物狗检测 深度学习 目标检测(含数据集)
  • C语言中的数组并非指针:深入理解数组和指针的区别
  • Topaz Video AI for Mac 视频无损放大软件安装教程【保姆级,操作简单轻松上手】
  • 虚函数和纯虚函数是 C++ 中实现多态性的关键概念