Redis有哪些数据结构

2021-05-18 17:57:05 567 次浏览 分类:网站知识

Redis支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(sorted set:有序集合);


String(字符串)

string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。

string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。

string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

操作命令:

    ①get、获取存储在指定键中的值

    ②set、设置存储在指定键中的值

    ③del、删除存储在指定键中的值(这个命令可以用于所有的类型)


Hash(哈希)

Redis hash 是一个键值(key=>value)对集合。

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


操作命令:

    ①hset、在散列里面关联起指定的键值对

    ②hget、获取指定散列键的值

    ③hgetall、获取散列包含的所有键值对

    ④hdel、如果给定键存在于散列里面,那么移除这个键


List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

操作命令:

    ①rpush、将给定值推入列表的右端

    ②lrange、获取列表在指定范围上的所有值

    ③lindex、获取列表在指定范围上的单个元素

    ④lpop、从列表的左端弹出一个值,并返回被弹出的值




Set(集合)

Redis 的 Set 是 string 类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

操作命令:

    ①sadd、将给定元素添加到集合

    ②smembers、返回集合包含的所有元素

    ③sismember、检查指定元素是否存在于集合中

    ④srem、检查指定元素是否存在于集合中,那么移除这个元素




zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

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

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

操作命令:

    ①zadd、将一个带有给定分值的成员添加到有序集合里面

    ②zrange、根据元素在有序排列中所处的位置,从有序集合里面获取多个元素

    ③zrangebyscore、获取有序集合在给定分值范围内的所有元素

    ④zrem、如果指定成员存在于有序集合中,那么移除这个成员



相关资讯

  • 如何设计高并发、高性能、高可用系统

    程序开发通常会提到一个名词 “三高”,即高并发、高性能、高可用。 具体的指标定义,如:高并发方面要求QPS...

    2021-05-28 13:19:24
  • 如何设计亿级系统的Redis缓存?

    缓存设计可谓老生常谈了,早些时候都是采用memcache,现在大家更多倾向使用redis,除了知晓常用的数据存储...

    2021-05-27 16:34:18
  • Redis有哪些数据结构

    Redis支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、z...

    2021-05-18 17:57:05
  • centos 安装Mariadb

    MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发...

    2021-05-14 17:11:28
  • 如何对你的网站进行访问压测

    为什么要进行压力测试? 对于个人站长而言,可能这方面的需求并不大,或者说很多的个人站长都不知道有这么...

    2021-05-06 23:21:49
  • 网站死链接检测与处理方法

    每个网站都不可避免产生死链接,甚至是产生了死链接但是我们却不知道,所以我们要学会检测网站产生的死链接,然后完美处...

    2021-05-05 11:44:24
  • 程序员常讲的「写死」是什么意思?

    程序员所说的“写死”指对一些参数或配置写死。这里我们以客户端为例来说明,对于其他的程序也是一样的。写死意味着除非...

    2021-04-21 11:48:45