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

Redis数据操作

数据操作

  • redis是key-value的数据,所以每个数据都是一个键值对
  • 键的类型是字符串
  • 值的类型分为五种:

    • 字符串string
    • 哈希hash
    • 列表list
    • 集合set
    • 有序集合zset
  • 数据操作的全部命令,可以查看中文网站

  • 接下来逐个介绍操作各类型的命令

 

string

  • string是redis最基本的类型
  • 最大能存储512MB数据
  • string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等

命令

设置

  • 设置键值
set key value
  • 设置键值及过期时间,以秒为单位
SETEX key seconds value
  • 设置多个键值
MSET key value [key value ...]

获取

  • 根据键获取值,如果不存在此键则返回nil
GET key
  • 根据多个键获取多个值
MGET key [key ...]

运算

  • 要求:值是数字
  • 将key对应的value加1
INCR key
  • 将key对应的value加整数
INCRBY key increment
  • 将key对应的value减1
DECR key
  • 将key对应的value减整数
DECRBY key decrement

其它

  • 追加值
APPEND key value
  • 获取值长度
STRLEN key

 

键的命令

  • 查找键,参数支持正则
KEYS pattern
  • 判断键是否存在,如果存在返回1,不存在返回0
EXISTS key [key ...]
  • 查看键对应的value的类型
TYPE key
  • 删除键及对应的值
DEL key [key ...]
  • 设置过期时间,以秒为单位
  • 创建时没有设置过期时间则一直存在,直到使用使用DEL移除
EXPIRE key seconds
  • 查看有效时间,以秒为单位
TTL key

 

hash

  • hash用于存储对象,对象的格式为键值对

命令

设置

  • 设置单个属性
HSET key field value
  • 设置多个属性
HMSET key field value [field value ...]

获取

  • 获取一个属性的值
HGET key field
  • 获取多个属性的值
HMGET key field [field ...]
  • 获取所有属性和值
HGETALL key
  • 获取所有的属性
HKEYS key
  • 返回包含属性的个数
HLEN key
  • 获取所有值
HVALS key

其它

  • 判断属性是否存在
HEXISTS key field
  • 删除属性及值
HDEL key field [field ...]
  • 返回值的字符串长度
HSTRLEN key field

 

list

  • 列表的元素类型为string
  • 按照插入顺序排序
  • 在列表的头部或者尾部添加元素

命令

设置

  • 在头部插入数据
LPUSH key value [value ...]
  • 在尾部插入数据
RPUSH key value [value ...]
  • 在一个元素的前|后插入新元素
LINSERT key BEFORE|AFTER pivot value
  • 设置指定索引的元素值
  • 索引是基于0的下标
  • 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LSET key index value

获取

  • 移除并且返回 key 对应的 list 的第一个元素
LPOP key
  • 移除并返回存于 key 的 list 的最后一个元素
RPOP key
  • 返回存储在 key 的列表里指定范围内的元素
  • start 和 end 偏移量都是基于0的下标
  • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LRANGE key start stop

其它

  • 裁剪列表,改为原集合的一个子集
  • start 和 end 偏移量都是基于0的下标
  • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LTRIM key start stop
  • 返回存储在 key 里的list的长度
LLEN key
  • 返回列表里索引对应的元素
LINDEX key index

 

set

  • 无序集合
  • 元素为string类型
  • 元素具有唯一性,不重复

命令

设置

  • 添加元素
SADD key member [member ...]

获取

  • 返回key集合所有的元素
SMEMBERS key
  • 返回集合元素个数
SCARD key

其它

  • 求多个集合的交集
SINTER key [key ...]
  • 求某集合与其它集合的差集
SDIFF key [key ...]
  • 求多个集合的合集
SUNION key [key ...]
  • 判断元素是否在集合中
SISMEMBER key member

 

zset

  • sorted set,有序集合
  • 元素为string类型
  • 元素具有唯一性,不重复
  • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
  • 元素的score可以相同

命令

设置

  • 添加
ZADD key score member [score member ...]

获取

  • 返回指定范围内的元素
ZRANGE key start stop
  • 返回元素个数
ZCARD key
  • 返回有序集key中,score值在min和max之间的成员
ZCOUNT key min max
  • 返回有序集key中,成员member的score值
ZSCORE key member

转载于:https://www.cnblogs.com/yrzsp/p/11019466.html

相关文章:

  • Vue2.0 中,“渐进式框架”和“自底向上增量开发的设计”这两个概念是什么?(转)...
  • 9、Java语句
  • [转载]SQL Server查找包含某关键字的存储过程3种方法
  • Android 项目优化(二):启动页面优化
  • 微信小程序常用样式汇总
  • 虚拟机导入虚拟电脑 环境变量丢失
  • mysql优化:覆盖索引(延迟关联)
  • 编译原理--02 自顶向下、自底向上的LR分析复习(清华大学出版社第3版)
  • webservice服务器借用cxf工具开发
  • 软件测试2019:第八次作业—— 缺陷管理(含缺陷管理工具的配置实验)
  • 实验6 流类库与I/O
  • Python day 44 :数据库的存储引擎/索引/权限管理
  • vsphere6.7-虚拟机与ESXI时间同步
  • 结合案例深入解析迭代器模式
  • laravel5.5入门-安装和认证
  • Android交互
  • echarts的各种常用效果展示
  • Go 语言编译器的 //go: 详解
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript函数式编程(一)
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Markdown 语法简单说明
  • mysql_config not found
  • node入门
  • vuex 学习笔记 01
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 聚簇索引和非聚簇索引
  • 如何使用 JavaScript 解析 URL
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 实现菜单下拉伸展折叠效果demo
  • 大数据全解:定义、价值及挑战
  • # 安徽锐锋科技IDMS系统简介
  • ###C语言程序设计-----C语言学习(3)#
  • #includecmath
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (分布式缓存)Redis哨兵
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net core 6.0 升8.0
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net Web窗口页属性
  • .netcore如何运行环境安装到Linux服务器
  • .net程序集学习心得
  • .net生成的类,跨工程调用显示注释
  • .NET是什么
  • .NET学习全景图
  • [ C++ ] STL_list 使用及其模拟实现