博客
关于我
Redis-day2-五种数据结构类型与数据持久化AOF+RDB
阅读量:473 次
发布时间:2019-03-07

本文共 1261 字,大约阅读时间需要 4 分钟。

五种数据结构类型

Redis 是一款强大的开源数据库,支持多种数据结构类型,包括字符串、哈希、列表、集合和有序集合。每种数据结构有其特点和适用场景,本文将详细介绍这些数据结构及其操作方法。

1. 字符串

字符串类型可以存储简单的字符串、复杂的结构化数据(如 JSON、XML)或二进制数据(如图片、音视频),但每个键的值大小不能超过 512MB。

获取与修改值

  • 添加/重置值:使用 set key value 命令,若键不存在则创建,若已存在则重置值。
  • 判断键是否存在:使用 exists key 命令,返回 1 表示存在,0 表示不存在。
  • 设置过期时间:使用 ttl key 命令可设置键的过期时间,默认为永久不过期。
# 创建键并添加值redis> set name 张三OK# 更新值redis> set name 李四OK# 获取键值redis> get name"Peng"
  • 计数器:Redis 的计数器操作具有原子性,支持递增、递减操作。
# 递增操作redis> incr num(integer) 1redis> incr num(integer) 2# 递减操作redis> decr num(integer) 1

2. 哈希

哈希类型允许一个键对应多个独立的 key-value 对,类似于 JSON 对象或 Map 集合。每个键可以存储多个值,支持动态添加、修改和删除操作。

定义与获取

  • 设置多个值:使用 hset key value1 value2 ... 命令。
  • 获取单个值:使用 hget key key-name 命令。
  • 获取所有值:使用 hgetall keyhmget key key1 key2
# 定义多个键值对redis> hset people name Peng age 18 male man hobby "play table tennis"(integer) 1# 获取单个值redis> hget people name"Peng"# 获取多个值redis> hmget people name age male"Peng" "18" "man"

修改与删除

  • 修改值:使用 hset 命令可修改已有键的值或新增键值对。
  • 删除某个值:使用 hdel key key1 key2 ... 命令。
  • 删除所有值:使用 del key 命令。
# 修改信息redis> hset people name zhangsan like Sing(integer) 1# 删除多个值redis> hdel people name age(integer) 2

3. 列表

列表是一个按插入顺序排序的简单字符串列表,可以追加元素到列表头或尾,最大可存储 4294967295 个元素。

以上划自定义内容


结论

以上是对 Redis 数据结构及其操作方法的详细介绍,涵盖了字符串、哈希、列表等数据类型的创建、操作和持久化方式。这些知识对于 Redis 的实际应用具有重要的参考价值。

转载地址:http://qxrdz.baihongyu.com/

你可能感兴趣的文章
【栈和队列】232. 用栈实现队列
查看>>
linux之压缩和解压
查看>>
斩荆披棘,我们走的关于程序的路
查看>>
分享在winform下实现模块化插件编程-优化版
查看>>
分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
查看>>
MVC模型(java)
查看>>
[Unity][EXE]封装打包后怎么Debug错误显示output_log.txt
查看>>
使用promise封装wx:requset()
查看>>
图文追踪PlusToken资产转移行踪(一): BTC部分有1,203个流入交易所
查看>>
stm32h743iit6 cubmex 配置QSPI w25128模式问题
查看>>
让nginx支持文件上传的几种模式
查看>>
快上车!Java技术开发大厂直通车马上启动!
查看>>
photon磁力下载工具
查看>>
LeetCode 637 二叉树的层平均值-简单
查看>>
Java虚拟机结构(内存,类加载器,执行引擎)
查看>>
制作横版游戏KillBear第9课:暂停层+屏蔽下层监听
查看>>
error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
查看>>
Redis-day2-五种数据结构类型与数据持久化AOF+RDB
查看>>
IOS开发Swif笔记13-初始化
查看>>
IOS开发Swift笔记16-错误处理
查看>>