Redis 五种基本数据结构及基本使用

这篇具有很好参考价值的文章主要介绍了Redis 五种基本数据结构及基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、数据结构

Redis 五种基本数据结构及基本使用,redis,数据结构,数据库

二、使用

2.1 String 的使用

Redis String 一个键对应一个值,并且是二进制安全的,值可以是图片或者序列化后的对象。

一个键最大能存储 512 MB。

2.1.1 set 命令的使用
  • set key value
    127.0.0.1:6379> set name yunhu
    OK
    127.0.0.1:6379> get name
    "yunhu"
    
  • 重复对同一个键设置值,导致覆盖
    127.0.0.1:6379> set age 15
    OK
    127.0.0.1:6379> set age 20
    OK
    127.0.0.1:6379> get age
    "20"
    
    15 已经被覆盖了。
  • set key value nx
    • 当 key 不存在时,返回 OK 表示设置成功
      127.0.0.1:6379> get year
      (nil)
      127.0.0.1:6379> set year 2020 nx
      OK
      127.0.0.1:6379> get year
      "2020"
      
    • 当 key 存在时,设置失败返回 nil 值。
      127.0.0.1:6379> get year
      "2020"
      127.0.0.1:6379> set year 1978 nx
      (nil)
      
  • set key value xx
    • 当 key 不存在时,放弃设置,返回空值
      127.0.0.1:6379> get age // age 这个键不存在
      (nil)
      127.0.0.1:6379> set age 18 xx
      (nil)
      
    • 当 key 存在时,可以设置。
      127.0.0.1:6379> set age 20
      OK
      127.0.0.1:6379> set age 18 xx
      OK
      127.0.0.1:6379> get age
      "18"
      
2.1.2 GETSET 命令的使用

GETSET 获取旧值并设置新值。

127.0.0.1:6379> get age
"18"
127.0.0.1:6379> GETSET age 25 // 将 age 设为 25,并且返回旧的值 18
"18"
127.0.0.1:6379> get age // 获取新的值
"25"

2.2 Hash 的使用

Redis Hash 是一个键值对集合,字符类型的 fieldvalue 组成的。

Hash 适合用来存储对象。

每个 Hash 可以存储 2 32 − 1 2^{32}-1 2321个键值对。

127.0.0.1:6379> HMSET student id 1 name "yunhu"
OK
127.0.0.1:6379> HGET student id
"1"
127.0.0.1:6379> HGET student name
"yunhu"

设置 Hash 名是 student,键为 id 的值是 1,键为 name 的值是 yunhu

然后去获取对应键的值。

2.3 List 的使用

Redis List 就是字符串列表。

127.0.0.1:6379> DEL student
(integer) 1
127.0.0.1:6379> lpush student "yunhu" // 将 yunhu 插入 student 列表头部
(integer) 1
127.0.0.1:6379> lpush student alice
(integer) 2
127.0.0.1:6379> lpush student bob
(integer) 3
127.0.0.1:6379> lrange student 0 -1 // 遍历 student 中的元素
1) "bob"
2) "alice"
3) "yunhu"

列表可以存储 Redis 五种基本数据结构及基本使用,redis,数据结构,数据库个元素。

2.4 set 的使用

Redis Set 是一个无序的集合,底层使用哈希表实现,添加、删除、搜索都为 O ( 1 ) O(1) O(1)

127.0.0.1:6379> DEL student
(integer) 1
127.0.0.1:6379> sadd student alice
(integer) 1
127.0.0.1:6379> sadd student bob
(integer) 1
127.0.0.1:6379> sadd student xiaoming
(integer) 1
127.0.0.1:6379> sadd student bob // 添加两次 bob,但实际上只有一个。
(integer) 0
127.0.0.1:6379> smembers student // 返回集合中的所有的成员
1) "xiaoming"
2) "bob"
3) "alice"

2.5 zset 的使用

zset 与 set 一样都是集合,但是 zset 每个元素关联一个 double 类型的分数,通过这个分数对集合进行从小到大排序。分数可以重复。文章来源地址https://www.toymoban.com/news/detail-561978.html

127.0.0.1:6379> del student
(integer) 1
127.0.0.1:6379> zadd student 1 yunhu
(integer) 1
127.0.0.1:6379> zadd student 2 alice
(integer) 1
127.0.0.1:6379> zadd student 3 bob
(integer) 1
127.0.0.1:6379> zrangebyscore student 0 1000
1) "yunhu"
2) "alice"
3) "bob"
127.0.0.1:6379> zadd student 0 xiaoming
(integer) 1
127.0.0.1:6379> zrangebyscore student 0 1000
1) "xiaoming"
2) "yunhu"
3) "alice"
4) "bob"

到了这里,关于Redis 五种基本数据结构及基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【分享】Redis的五种基本数据类型和应用场景

    Redis支持五种基本数据类型: String(字符串类型):可以是普通字符串,也可以是整数或浮点数值。可以设置过期时间;可以对字符串进行append、get、set、incr、decr等操作。 Hash(哈希类型):类似于一个数组,其中每个元素都是一个field和value的键值对。可以对整个哈希表或

    2024年02月16日
    浏览(31)
  • redis的配置和使用、redis的数据结构以及缓存遇见的常见问题

    目录 1.缓存 2.redis不仅仅可以做缓存,只不过说他的大部分场景,是做缓存。本地缓存重启后缓存里的东西就没有了,但是redis有。 3.redis有几个特性:查询快,但是是放到内存里的〈断电或者重启,数据就丢了),所以他有特定的持久化机制 4.服务器(centos)安装redis 5. redis在

    2024年02月14日
    浏览(31)
  • Redis常见数据结构以及使用场景分别是什么

      String String数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。 常规key-value缓存应用; 常规计数:微博数,粉丝数等。 #Hash Hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,后续操作的时候,你可以直接仅 仅修改这个对象中

    2024年01月23日
    浏览(30)
  • 2023-06-01:讲一讲Redis常见数据结构以及使用场景。

    2023-06-01:讲一讲Redis常见数据结构以及使用场景。 答案2023-06-01: 字符串(String) 适合场景 缓存功能 Redis 作为缓存层,MySQL 作为存储层,在大部分请求中,数据的读取通常是从 Redis 中获取。由于 Redis 具有支持高并发的特性,因此缓存层通常能够加速读写操作,并减轻后端

    2024年02月07日
    浏览(51)
  • Redis支持的数据结构有哪些?Redis使用单线程还是多线程?Redis的持久化机制有哪些?Redis的缓存淘汰策略有哪些?

    Redis支持的数据结构包括: 字符串(string):存储一个字符串。 列表(list):按照插入顺序存储多个字符串。 集合(set):存储多个不重复的字符串。 有序集合(sorted set):存储多个不重复的字符串,并为每个字符串关联一个分数,可以根据分数进行排序。 哈希表(has

    2024年02月12日
    浏览(33)
  • Redis 常见的几种数据结构说一下?各自的使用场景?

    介绍:string 数据结构是简单的 key-value 类型。 使用场景: 一般常用在需要计数的场景,比如用户的访问次数、热点文章的点赞转发数量等等。 介绍:list 即是 链表 使用场景:发布与订阅或者说消息队列、慢查询。 介绍:hash 类似于 JDK1.8 前的 HashMap,内部实现也差不多(数组

    2024年01月24日
    浏览(35)
  • Redis学习路线(2)—— Redis的数据结构

    一、Redis的数据结构 Redis是一个Key-Value的数据库,key一般是String类型,不过Value的类型却有很多: String: Hello World Hash: {name: \\\"jack\\\", age: 21} List: [A - B - C - C] Set: {A, B, C} SortedSet: {A: 1, B: 2, C: 3} GEO: {A: (120.3, 30.5)} BitMap: 0110110101110101011 HyperLog: 0110110101110101011 由于Redis对数据

    2024年02月15日
    浏览(30)
  • 【Redis】Redis中的数据结构和内部编码

    type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合),但这些只是Redis对外的数据结构, 实际上Redis针对每种数据结构都有⾃⼰的底层内部编码实现,⽽且是多种实现,这样Redis会在合适的

    2024年02月07日
    浏览(28)
  • redis1之安装redis,启动,常用数据结构

      目录 redis安装与启动、常见数据结构 启动  Redis客户端 数据结构与常见的命令  redis的通用命令  String类型的用法 Hash命令的用法  List命令  Set命令  SortedSet类型用法 1,在linux上安装上gcc的依赖,我这里是centos7.6,gcc是4.5 我们在LInux上查看一下我们的系统信息  我这里安装

    2024年02月06日
    浏览(34)
  • redis核心数据结构

    redis下载地址:Download | Redis linux进入redis目录首先使用make命令进行c++的编译,修改redis.conf文件: 启动退出相关命令: redis五种数据结构图: 1、常用命令 2、应用场景 1)、单值缓存 2)、对象缓存 3)、分布式锁  4)、计数器 5) 、计数器 6) 、分布式系统全局序列号 1、

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包