Redis 数据类型

1.String(字符串)string是redis最基本的类型,一个key对应一个valuestring类型是二进制安全的,即它可以包含任何数据setkeyvalue创建一个键值对getkey得到key对应的值示例:redis127.0.0.1:6379>setnamezhangsanOKredis127….

大家好,又见面了,我是你们的朋友全栈君。


1. String(字符串)

string是redis最基本的类型,一个key对应一个value
string类型是二进制安全的,即它可以包含任何数据

set key value 创建一个键值对
get key 得到key对应的值

示例:

redis 127.0.0.1:6379> set name zhangsan  
OK  
redis 127.0.0.1:6379> get name  
"zhangsan"

一个键最大能存储512MB

2. Hash(哈希)

hash是一个键值对集合
即hash是一个string类型的field和value的映射表
hash特别适合用于存储对象

示例:

redis 127.0.0.1:6379> HMSET myhash field1 "Hello" field2 "World"  
OK  
redis 127.0.0.1:6379> HGET myhash field1  
"Hello"  
redis 127.0.0.1:6379> HGET myhash field2  
"World"

hash数据类型存储了包含脚本信息的用户对象。
每个hash可以存储 232-1个键值对(40多亿)

3. List(列表)

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

示例:

redis 127.0.0.1:6379> lpush mylist redis
(integer) 1
redis 127.0.0.1:6379> lpush mylist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush mylist rabitm1
(integer) 3
redis 127.0.0.1:6379> lrange mylist 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"

列表最多存储232 -1 个元素(4294967295)

4. Set(集合)

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

sadd 命令
添加一个string元素到key对应的set集合中,成功返回1,
如果元素已经在集合中返回0,key对应的set不存在返回错误

sadd key member

示例:

redis 127.0.0.1:6379> sadd myset redis
(integer) 1
redis 127.0.0.1:6379> sadd myset mongodb
(integer) 1
redis 127.0.0.1:6379> sadd myset rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd myset rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers myset

1) "rabitmq"
2) "mongodb"
3) "redis"

当同一个元素被添加两次时,根据集合内元素的唯一性,第二次插入的操作将被忽略。
集合最大的成员数为232-1

5. zSet(有序集合)

zset 和 set 一样也是string类型元素的集合,且不允许重复的成员
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为zset集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复
zadd命令
添加元素到集合,元素在集合中存在则更新对应score

zadd key score member

示例:

redis 127.0.0.1:6379> zadd myzset 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd myzset 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd myzset 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd myzset 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE myzset 0 1000
1) "mongodb"
2) "rabitmq"
3) "redis"
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127298.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字符串匹配算法_字符串模式匹配算法

    字符串匹配算法_字符串模式匹配算法目录Brute-Force算法Knuth-Morris-Pratt算法确定有限状态自动机部分匹配表Boyer-Moore算法Rabin-Karp算法总结网络信息中充满大量的字符串,对信息的搜寻至关重要,因此子字符串查找(即字符串匹配)是使用频率非常高的操作:给定一段长度为N的文本和长度为M的模式字符串(N≥M),在文本中找到一个和模式串相匹配的子串。由这个问题可以延…

    2022年4月19日
  • DirectX修复工具(DirectX Repair)修复工具V4.0增强版「建议收藏」

    DirectX修复工具(DirectXRepair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectXredist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。本程序为了应对一般电脑用户的使用,采用了易用的一键式设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校

    2022年4月13日
  • 2268大约是多少_情态动词过去式

    2268大约是多少_情态动词过去式小 Q 在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 1,2,3… 进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。在电路板上存在一个特殊的元件称为“激发器”。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。而中间节点接收到激励电流后,得到信息,并将该激励电流传向与它连接并且尚未接收到激励电流的节点。最终,激励电流将到达一些“终止节点”——

    2022年8月9日
  • JAVAdebug_java如何设置断点

    JAVAdebug_java如何设置断点大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。以eclipse为例,debug的用法:1、首先在一个java文件中设断点,然后debugas,opendebugDialog,然后在对话框中选类后,Run。2、F5键与F6键均为单步调试,F5是stepinto,也就是进入本行代码中执行,F6是stepover,也就是执行本行代码,跳到下一行。3、F7是跳出函数,F8是…

    2022年10月15日
  • 一周时间背完四六级单词

    一周时间背完四六级单词

    2021年5月1日
  • laravel validate 设置为中文(验证提示为中文)

    laravel validate 设置为中文(验证提示为中文)

    2021年10月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号