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

redis中的5中数据结构

redis 中键都是字符串类型

所说的5中数据结构指定的是值的结构

1、String

        单只存储(存一个具体值,也可以存储一个java中的对象,对象是被序列化成json格式的字符串)

set key value:设定键值

get key:获取键的值

del key:删除键

keys *:查看所有的键

        计数器

incr 键(键的值必须是整数):键自增1

decr 键:键自减1

2、Hash

        redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,存的是字符串和字符串值之间的映射,比如要存储用户购物车等信

hset key 属性 值:设定属性和属性的值

hget key 属性:取得键的属性对应的值

hdel key 属性:删除某个属性

hlen key:返回key下属性的数量

hgettall key:返回key下所有属性的属性值

3、List(列表)

        有序集合;里面可以存储重复元素

lpush key val:从左边向集合添加元素

lpush key val从左边向集合添加元素

rpush key val

lpop key从头删除

rpop key 从尾删除

lrange key 开始位置 结束位置

4、Set(集合)

        无序不重复的集合

sadd key val

srem key val

smembers key:查看指定key下所有的值

scard key:查看key下的元素数量

5、zset(有序(排序)不重复的集合)

        redis zset 也是不允许重复的成员,但是是有序的。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

zset 的成员是唯一的,但分数(score)却可以重复。

zadd key score member[[score member]..] :往有序集合 key 中加入带分值元素

zrem key member[member...] :从有序集合 key 中删除元素

zscore key member :返回有序集合 key 中元素 member 的分值

zcard key :返回有序集合 key 中元素个数

6、设置失效时间

        有时候我们并不希望 redis 的 key 一直存在。例如缓存,验证码等数据,我们希望它们能在一定时间内自动的被销毁。redis 提供了一些命令,能够让我们对 key设置过期时间,并且让 key 过期之后被自动删除

EX 表示以秒为单位PX 表示以毫秒为单位 (EX,PX 不区分大小写)

set name jim EX 30 设置失效时间为 30 秒

set name jim PX 30 设置失效时间为 30 毫秒

ttl 键 查看剩余时间(秒)

pttl 键 查看剩余时间(毫秒)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 传神论文中心|第25期人工智能领域论文推荐
  • [数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别
  • 嵌入式硬件基础知识
  • 【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
  • 【笔记】自动驾驶预测与决策规划_Part1_自动驾驶决策规划简介
  • 【03】深度学习——神经网络原理 | 多层感知机 | 前向传播和反向传播 | 多层感知机代码实现 | 回归问题、分类问题 | 多分类问题代码实现
  • 配置网络yum源
  • BolckingQueue
  • AI嘴替:黑神话悟空
  • SSHamble:一款针对SSH技术安全的研究与分析工具
  • 【Elasticsearch系列六】系统命令API
  • 安卓玩机工具-----无需root权限 卸载 禁用 删除当前机型app应用 ADB玩机工具
  • STM32与ESP8266的使用
  • JavaDS —— B树
  • 什么是json?json可以存放在哪几种数据类型?在什么时候用?
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • #Java异常处理
  • @jsonView过滤属性
  • github指令
  • Next.js之基础概念(二)
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • STAR法则
  • ubuntu 下nginx安装 并支持https协议
  • Web设计流程优化:网页效果图设计新思路
  • 从重复到重用
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 算法-图和图算法
  • 项目管理碎碎念系列之一:干系人管理
  • 携程小程序初体验
  • 《天龙八部3D》Unity技术方案揭秘
  • 仓管云——企业云erp功能有哪些?
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #{}和${}的区别是什么 -- java面试
  • #13 yum、编译安装与sed命令的使用
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (1)(1.13) SiK无线电高级配置(六)
  • (LeetCode) T14. Longest Common Prefix
  • (pojstep1.3.1)1017(构造法模拟)
  • (第30天)二叉树阶段总结
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (简单) HDU 2612 Find a way,BFS。
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (四)鸿鹄云架构一服务注册中心
  • (转)linux下的时间函数使用
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (自用)gtest单元测试
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .aanva
  • .bat文件调用java类的main方法
  • .htaccess配置常用技巧
  • .net dataexcel 脚本公式 函数源码
  • .NET 中 GetProcess 相关方法的性能