redis常用数据类型有哪些

redis常用数据类型有:1、String(字符串);2、Hash(哈希);3、List(列表);4、Set(集合);5、Zset(sorted set:有序集合)。string是最简单的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。

redis常用数据类型有哪些-Worktile社区

1、String(字符串)

string是最简单的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富。redis采用结构sdshdr和sds封装了字符串,字符串相关的操作实现在源文件sds.h/sds.c中。

2、Hash(哈希)

Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定少数的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

3、List(列表)

在编程语言中List是标准类库中的一个类,可以简单视之为双向链表,以线性列的方式管理物件集合。list的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list是类库提供的众多容器(container)之一,除此之外还有vector、set、map等。list以模板方式实现(即泛型),可以处理任意型别的变量,包括使用者自定义的资料型态例如:它可以是一个放置整数(int)型态的list、也可以是放置字串(char或string)型态的list、或者放置使用者自定类别(user-defined class)的list。

4、Set(集合)

set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。在源文件dict.h/dict.c中实现了hashtable的操作,dict中table为dictEntry指针的数组,数组中每个成员为hash值相同元素的单向链表。set是在dict的基础上实现的,指定了key的比较函数为dictEncObjKeyCompare,若key相等则不再插入。

5、Zset(sorted set:有序集合)

zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。

延伸阅读:

什么是redis?

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

文章标题:redis常用数据类型有哪些,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35751

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年1月16日 下午10:34
下一篇 2023年1月16日 下午10:37

相关推荐

  • 什么是阻塞队列

    什么是阻塞队列:阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。 一、什么是阻塞队列 阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列。这两个附加的…

    2023年5月9日
    40800
  • 如何进行项目质量风险管理

    项目质量风险管理意味着在整个项目管理过程中,识别、分析、评估、控制和应对可能影响项目成果质量的各种不确定性和风险因素。这一过程着眼于确保项目成果满足既定的质量要求、预防和减少不利影响,以及提高项目成功的可能性。通过进行项目质量风险管理,项目团队能够在项目早期发现质量问题,采取适当的措施降低风险,从而…

    2024年4月10日
    7300
  • 知识库中包含哪些知识

    知识库中包含以下知识:一、产品知识;二、行业知识;三、技术知识;四、经验分享;五、培训资料。产品知识是指对公司或组织的产品或服务进行详细描述的知识点。这些知识点包括产品特点、技术规格、使用方法、注意事项等等。 一、产品知识 产品知识是指对公司或组织的产品或服务进行详细描述的知识点。这些知识点包括产品…

    2023年4月30日
    72700
  • 为什么使用规则引擎

    规则引擎可以简化业务架构,让开发人员更容易理解业务逻辑,并在一个开发环境中提供一致易用的工具。降低开发人员使用复杂代码的难度;降低数据录入工作量;优化功能代码实现,提高开发效率;灵活扩展应用程序功能,快速上线新功能;增加应用程序的灵活性。 一、什么是规则引擎 定义:是指对业务系统的规则进行抽象,使之…

    2023年7月28日
    60800
  • 人工智能的水平用什么指标来衡量

    人工智能的水平评价有:1、算法性能;2、实时响应能力;3、学习效率;4、适应性;5、能耗;6、系统稳定性。其中,算法性能通常指的是算法在各种任务上的准确率或成功率,而实时响应能力涉及到算法在实时任务上的表现。 1、算法性能 人工智能:一款好的AI算法应该在所设定的任务上有高准确率和成功率。例如,在图…

    2023年7月30日
    1.5K00
  • 相关子查询与不相关子查询的区别是什么

    区别是:不相关子查询是指子查询与主查询之间没有任何关联关系,它们之间没有任何共享的列或条件。相关子查询是指子查询与主查询之间存在关联关系,它们之间有共享的列或条件。 不相关子查询 不相关子查询是指子查询与主查询之间没有任何关联关系,它们之间没有任何共享的列或条件。不相关子查询会先执行子查询语句,得到…

    2023年5月29日
    82600
  • 数据库索引的原理是什么

    数据库索引是一种数据结构,它可以帮助数据库系统更快地查询、更新和删除数据。索引的原理类似于书籍的目录,它可以让数据库系统直接定位到数据的位置,而不需要逐行扫描整个表。数据库索引的工作原理主要依赖于B树或B+树等数据结构。 一、定义 数据库索引是一种数据结构,它可以帮助数据库系统更快地查询、更新和删除…

    2023年7月29日
    46300
  • 数据库的管理系统用什么编程语言好

    数据库的管理系统用什么编程语言好:1、SQL;2、Java;3、Python;4、C#;5、PHP。SQL 是最常用的数据库编程语言之一。它是一种标准化的语言,用于管理关系型数据库。SQL 可以用于创建、修改和查询数据库中的数据。 一、SQL SQL(Structured Query Languag…

    2023年6月7日
    1.7K00
  • 什么是虚拟化服务器

    虚拟化服务器是一种技术,它允许一个物理服务器模拟和管理多个独立的虚拟服务器。每个虚拟服务器都可以运行自己的操作系统和应用程序,就像它是一个独立的物理服务器一样。虚拟化服务器通过虚拟化软件(也称为虚拟机监视器或虚拟化平台)来实现。 一、定义 虚拟化服务器是一种技术,它允许一个物理服务器模拟和管理多个独…

    2023年7月29日
    60100
  • vscode为什么会默认Word

    VSCode默认使用Word的原因主要包括其高度的自定义性、广泛的插件支持、开源和免费的特性、微软的积极开发和社区支持,以及对多种编程语言强大的支持。 其中,高度的自定义性让用户可以通过配置文件和插件自定义编辑器的几乎每一个方面,包括快捷键、界面布局和代码格式化选项,从而让它成为理想的编程工具。插件…

    2024年4月3日
    6200

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部