当前位置:网站首页>What are the five common data types of Redis?What is the corresponding data storage space?Take you to learn from scratch
What are the five common data types of Redis?What is the corresponding data storage space?Take you to learn from scratch
2022-08-10 12:35:00 【happy captain】
- 本文已参与「新人创作礼」活动,一起开启掘金创作之路.
大家好,我是卷心菜.本篇主要讲解Redis数据库的五种常用数据类型及其数据存储空间的简单介绍,如果您看完文章有所收获,可以三连支持博主哦~,嘻嘻.
一、什么是Redis?
REmote DIctionary Server(Redis)是一个key-value存储系统.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型.- 本篇文章所要介绍的数据类型,是针对值(value)的,而不是key.
二、客户端连接Redis
- 本篇文章的所有操作都是在Linux系统下进行的
- 使用Redis的客户端操作Redis数据库,首先要开启Redis的服务端,然后在使用如下命令行连接Redis服务器:
[[email protected] redis-6.2.6]# cd /usr/local/bin/
[[email protected] bin]# redis-cli -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> ping
PONG
复制代码三、Redis数据存储格式
- redis
自身是一个 Map,其中所有的数据都是采用 key-value 的形式存储 - 数据类型指的是存储的数据的类型,也就是 value 部分的类型,key 部分永远都是字符串
四、字符串(String)
- Redis 字符串数据类型的相关命令用于
管理 redis 字符串值 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型存储数据的格式:一个存储空间保存一个数据存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用
下图列出了redis字符串的常用命令:
注意:这些指令一定要亲自敲一遍,熟能生巧.对于不会的指令操作,可以看官方文档.
五、哈希(hash)
- 对于前面讲到的字符串类型,如果存储的是对象类数据,具有较频繁的更新需求操作会显得很麻烦,所有就有了哈希数据结构.
新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息.需要的存储结构:一个存储空间保存多个键值对数据.hash类型:底层使用哈希表结构实现数据存储.
hash类型数据操作的注意事项:
- hash类型下的value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象.如果数据未获取到,对应的值为(nil)
- 每个 hash 可以存储 2^32^ - 1个键值对
- hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性.
但hash设计初衷不是为了存储大量对象而设计的,切记不可滥用,更不可以将hash作为对象列表使用 - hgetall 操作可以获取全部属性,如果内部field过多,遍历整体数据效率就很会低,有可能成为数据访问瓶颈
下图列出了redis哈希的常用指令:
六、列表(list)
数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分.需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序.list类型:保存多个数据,底层使用双向链表存储结构实现.
list类型数据操作注意事项:
- list中保存的数据都是string类型的,数据总容量是有限的,最多2^32^-1个.
- list具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作,或以栈的形式进行入栈出栈操作.
- 获取全部数据操作结束索引设置为-1
- list可以对数据进行分页操作,通常第一页的信息来自于list,第二页及更多的信息通过数据库的形式加载.
下图列出了redis列表的常用指令:
七、集合(Set)
新的存储需求:存储大量的数据,在查询方面提供更高的效率.需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询.set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的.
set类型数据操作的注意事项:
- set类型不允许数据重复,如果添加的数据在set中已经存在,将只保留一份.
- set虽然与hash的存储结构相同,但是无法启用hash中存储值的空间.
下图列出了redis集合set的常用指令:
八、有序集合(sorted set)
新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式.需要的存储结构:新的存储模型,可以保存可排序的数据.sorted_set类型:在set的存储结构基础上添加可排序字段.
sorted_set类型数据操作的注意事项:
- score保存的数据整数范围是:
-9007199254740992~9007199254740992 - score保存的数据也可以是一个双精度的double值,基于双精度浮点数的特征,可能会丢失精度,使用时候要慎重
- sorted_set 底层存储还是基于set结构的,因此数据不能重复,
如果重复添加相同的数据,score值将被反复覆盖,保留最后一次修改的结果
下图列出了redis有序集合的常用指令:
感谢阅读,一起进步,嘻嘻~
边栏推荐
- Dining (web stream)
- three.js模糊玻璃效果
- search--09
- Servlet---解决post请求中中文乱码问题
- 中芯CIM国产化项目暂停?上扬软件:未停摆,改为远程开发!
- LeetCode 86. 分隔链表
- Microchip launched a high-performance 77GHz millimeter-wave radar chip, and has received tens of thousands of orders before mass production
- codevs 2370 Small room tree (LCA)
- Excel函数公式大全—HLOOKUP函数
- LeetCode 146. LRU Cache
猜你喜欢

加密游戏:游戏的未来

Data Analysis of Time Series (5): Simple Prediction Method

一文详解 implementation api embed

LT8911EXB MIPI CSI/DSI转EDP信号转换

Does your child lack self-discipline?Ape Counseling: Pay attention to "blank" in the schedule to give children more control

人脸考勤是选择人脸比对1:1还是人脸搜索1:N?

第六届”蓝帽杯“全国大学生网络安全技能大赛半决赛部分WriteUp

Analysis of the implementation principle of UUID from the perspective of source code

如何让别人看不懂你的 JS 代码?把你当大佬!

技术人必看!数据治理是什么?它对数据中台建设重要吗?
随机推荐
LeetCode 92. Reverse Linked List II
LeetCode 86. Delimited Linked List
IM即时通讯开发WebSocket从入门到精通
自定义过滤器和拦截器实现ThreadLocal线程封闭
【mysql】explain介绍[通俗易懂]
搜索--09
[Collection] HashSet and ArrayList lookup Contains() time complexity
苹果逆势扩大iPhone 14系列备货,总量或达9500万部
bat脚本——提取多个文件夹到指定路径
LeetCode 109. Sorted Linked List Conversion Binary Search Tree
StarRocks on AWS 回顾 | Data Everywhere 系列活动深圳站圆满结束
Network sockets (UDP and TCP programming)
mpf6_Time Series Data_quandl_correct kernel PCA_AIC_BIC_trend_log_return_seasonal_decompose_sARIMAx_ADFull
Excel函数公式大全—HLOOKUP函数
Microchip launched a high-performance 77GHz millimeter-wave radar chip, and has received tens of thousands of orders before mass production
Golang分布式应用之etcd
LeetCode 369. Plus One Linked List
LeetCode 25. A set of K flipped linked lists
迈矽科推出高性能77GHz毫米波雷达芯片,尚未量产就已获数万颗订单
An enhanced dynamic packet buffer management. The core part of the paper