学习redis有效期和数据类型

1、安装redis和连接redis

参考:ubuntu安装单个redis服务_ubuntu redis单机版安装-CSDN博客

连接redis:redis-cli.exe -h localhost -p 6379 -a 123456

2、Redis数据类型
以下操作我们在图形化界面演示。

2.1、五种常用数据类型介绍
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:字符串 string、哈希 hash、列表 list、集合 set、有序集合 sorted set / zset。

2.2解释说明

字符串(string):普通字符串,Redis中最简单的数据类型。

哈希(hash):也叫散列,类似于Java中的HashMap结构。

列表(list):按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList。

集合(set):无序集合,没有重复元素,类似于Java中的HashSet。

有序集合(sorted set/zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素。

3、字符串操作命令

Redis 中字符串类型常用命令:

3.1、设置有效期

SETEX key seconds value 设置指定key的值,并将 key 的过期时间设为 seconds 秒。

setEX bbb 20 222

然后查看该缓存信息

3.2 已存在的key不能重复设置值

SETNX key value 只有在 key 不存在时设置 key 的值。

然后查看redis的缓存,aaa的值还是112

4、哈希操作命令

Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:

HSET key field value 将哈希表 key 中的字段 field 的值设为 value

HSET student1 name heming

然后查看redis里面的内容

HGET key field 获取存储在哈希表中指定字段的值

HDEL key field 删除存储在哈希表中的指定字段

hdel student1 name

 此时不存在student1这个哈希

如果student1哈希有2个属性,删除一个属性后,另外那个属性还能看到。如下所示

HKEYS key 获取哈希表中所有字段

HVALS key 获取哈希表中所有值

5、 列表操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

LPUSH key value1 [value2] 将一个或多个值插入到列表头部。

LRANGE key start stop 获取列表指定范围内的元素

RPOP key 移除并获取列表最后一个元素

LLEN key 获取列表长度。

BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止,设置超时时间,否则将一直阻塞。

 6、集合操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:

SADD key member1 [member2] 向集合添加一个或多个成员

SMEMBERS key 返回集合中的所有成员

SCARD key 获取集合的成员数  

SINTER key1 [key2] 返回给定所有集合的交集   

SUNION key1 [key2] 返回所有给定集合的并集。  

SREM key member1 [member2] 移除集合中一个或多个成员。  

 

 

 7、有序集合操作命令

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数,根据分数来进行排序。常用命令:

ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员。

ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员。

ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment。

ZREM key member [member ...] 移除有序集合中的一个或多个成员。

8、通用命令

Redis的通用命令是不分数据类型的,都可以使用的命令:

KEYS pattern 查找所有符合给定模式(pattern)的 key。

EXISTS key 检查给定 key 是否存在。

TYPE key 返回 key 所储存的值的类型。

DEL key 该命令用于在 key 存在是删除 key。

 9、小结

字符串类型操作指令开头一般为s开头(SET 、GET、SETEX 、SETNX )

哈希操作命令操作指令开头一般为h开头(HSET 、HGET 、HDEL ​​​​​​​、HKEYS ​​​​​​​、HVALS )

列表操作命令指令开头一般为l开头(LPUSH ​​​​​​​、LRANGE ​​​​​​​、RPOP ​​​​​​​、LLEN ​​​​​​​、BRPOP )

集合操作命令指令开头一般为s开头(SADD 、SMEMBERS ​​​​​​​、SCARD ​​​​​​​、SINTER 、SUNION ​​​​​​​、SREM )

有序集合操作命令指令开头一般为z开头(ZADD ​​​​​​​、ZRANGE ​​​​​​​、ZINCRBY ​​​​​​​、ZREM )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/318856.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法教程,数据结构C语言版教程!(第三部分、栈(Stack)和队列(Queue)详解)六

第三部分、栈(Stack)和队列(Queue)详解 栈和队列,严格意义上来说,也属于线性表,因为它们也都用于存储逻辑关系为 "一对一" 的数据,但由于它们比较特殊,因此将其单独作为一章,做重点讲解。 使用栈…

UISegmentedControl控件定制

1.在xib中设计如下: 背景颜色: 段标题与数量 : 2.在代码中控制 关联控件 注册控件事件 控件事件处理函数实现: 定制Title颜色 4 --- > UIControlStateSelected 0 --- > UIControlStateNormal 最终实现效果: 取控件选中时的索引与显示文本: 输出:

我在代码随想录|写代码Day7之454.四数相加II ,​ 383. 赎金信​,​ 15. 三数之和​

454.四数相加II 题目 解题思路 四个数字相加的和为0,我们要选俩数组,让他们的笛卡尔积储存在哈希表中,然后我们要找的是这俩数和的相反数,然后就是将后面俩数组相加在后面的数组和中找相反数. 383. 赎金信 解题思路 题目意思是让在字符串1中找到字母组成字符串2所以找字符串1…

Sentinel微服务保护

文章目录 Sentinel微服务保护1.初识Sentinel1.1.雪崩问题及解决方案1.1.1.雪崩问题1.1.2.解决方案1.1.3.总结 1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.4.微服务整合Sentinel 2.流量控制2.1.簇点链路2.1.快速入门2.2.流控模式2.2.1.…

【C++】wxWidgets库实现窗体程序

一、安装wxWidgets库 在Debian系统上使用wxWidgets库来创建一个基本的窗体程序,首先需要确保已经安装了wxWidgets相关的库和开发工具。下面是安装wxWidgets的步骤: 打开终端,使用下述命令安装wxWidgets库及其开发文件: sudo ap…

Tomcat解压打包文件和并部署

一、文件压缩和上传解压 1.本地打包好dist.tar.gz文件 2.通过xftp拖拽上传到知道文件夹下,或者通过命令: cp dist.tar.gz /path/to/destination/folder注:将dist.tar.gz复制到 /path/to/destination/folder文件夹下,该文件夹只是举个例子怎么复制和解压! 3.进入/path/…

ENNOID-BMS从控板分析-基于LTC6813的版本

LTC6813简单说明 单体电压采集部分,总共可以采集18个电芯电压,这18个电压分别交给3个16位Delta-Sigma ADC来进行采样;官方手册宣称的采样误差低于2.2mV,采样范围为0~5V,所有18个电芯采样一次只要290uS时间。电压均衡部…

Python中的列表跟C/C++里面的数组什么关系?

你好,我是安然无虞。 文章目录 Python数据类型列表创建列表新增列表元素append方法insert方法 删除列表元素pop方法remove方法 查找列表元素in相关index方法 下标访问列表元素负索引 遍历列表元素子列表提取拼接列表 相关extend方法 列表常用接口汇总列表操作列表的…

SpringCloud Aliba-Nacos-从入门到学废【1】

🥚今日鸡汤🥚 当你最倒霉地时候一定要扛住。 因为,那正是你运气该上升的时候。 ——《一人之下》 目录 🧈1.Nacos介绍 🧂2.Nacos服务提供者注册 🥓3.Nacos服务消费者 🌭4.Nacos作为配置中心…

双目测距工程Stereo-Vision-master学习笔记

硬件: 首先要要把两个摄像头固定到支架上,并且两个摄像头的间距应该在110mm,两个摄像头没有落差 相机的内参数包括焦距、主点坐标、像素尺寸等,这些参数决定了相机成像的几何变换关系。内参数是相机固有的属性,不会随…

Bean作用域及生命周期

关于Bean对象,在将其存储到spring中以后,在使用或读取该Bean对象时,如果该对象是公有的,难免就会出现被一方修改,从而影响另外一方读取到的对象准确性的情况。因此了解Bean的作用域和生命周期就是十分必要的了。 首先…

2024年AMC8模拟考试实测流程、注意事项和常见问题

和往年的AMC8比赛一样,在正式比赛的前一周左右会开放两天的模拟考试时间,AMC8的主办方建议所有的参赛选手重视且参加模拟考试,以测试设备、熟悉流程,避免将来正式考试不小心违规,或者设备不给力。 2024年的AMC8模拟考…

Matlab字符识别实验

Matlab 字符识别OCR实验 图像来源于屏幕截图,要求黑底白字。数据来源是任意二进制文件,内容以16进制打印输出,0-9a-f’字符被16个可打印字符替代,这些替代字符经过挑选,使其相对容易被识别。 第一步进行线分割和字符…

一个简易的PHP论坛系统

一个简易的PHP论坛系统 php课程设计,毕业设计 预览 技术 bootstrap 4.x jquery css php mysql 5.7 目录结构 登录 管理员 admin/123456 测试用户 user1/123456 更多文章和源码获取查看

MongoDB认证考试小题库

Free MongoDB C100DBA Exam Actual Questions 关于MongoDB C100 DBA 考试真题知识点零散整理 分片架构 应用程序 --> mongos --> 多个mongod对于应用来说,连接分片集群跟连接一台单机mongod服务器一样分片好处, 增加可用RAM、增加可用磁盘空间、…

【Spring Cloud Alibaba】Sentinel 服务熔断与流量控制

目录 前言 一、Sentinel 入门 1.1 什么是 Sentinel ? 1.2 微服务集成 Sentinel 1.3 安装Sentinel控制台 二、Jmeter 压力测试工具 2.1 Jmeter 介绍 2.2 Jmeter 安装 2.3 接口测试 三、Sentinel 使用 3.1 限流规则 3.1.1 warm up(预热模式) 3.1.2 排队等待 3.1.3…

记redis5.x在windows上搭建集群(六主六从)

六个运行端口 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 1、安装redis,文章太多不多BB 2、复制六份redis文件夹出来改名 3、修改每一份的配置文件 redis.windows.conf 修改为以下格式: #运行端口 port…

线性代数——(期末突击)概率统计习题(概率的性质、全概率公式)

目录 概率的性质 题一 全概率公式 题二 题三 概率的性质 有限可加性: 若有限个事件互不相容,则 单调性: 互补性: 加法公式: 可分性: 题一 在某城市中共发行三种报纸:甲、乙、丙。在这个…

vue3实现动态侧边菜单栏的几种方式总结

基于自建json数据的动态侧边菜单栏 后端接口json数据 src/api/menuList.js const menuList [{url: ,name: 人员管理,icon: icon-renyuan,menuId: 1,children: [{url: /user,name: 用户管理,icon: icon-jurassic_user,menuId: 1001,children: []},{url: /role,name: 角色管…

如何构建快速、准确的3D模型格式转换?Govie成功应用HOOPS Exchange解决数据转换问题

德国公司 "Govies "将三维CAD模型与互动的视觉环境和讲故事的元素相结合。 2021年5月10日,工程软件开发工具包的供应商Tech Soft 3D告知,总部位于德国的实时三维可视化专家3D Interaction Technologies(3DIT)正在使用H…