IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis的数据类型 -> 正文阅读

[大数据]Redis的数据类型

Redis的五种基本数据类型

Redis是key-value型的数据库,有五种基本的数据类型,分别是String,Hash,List,Set,Zset;
key都是字符串类型的,数据类型对应的是value

String类型:

最基本的key-value

#添加,修改数据  key相同就是修改
set key value

#根据key获取数据
get key

#根据key删除数据
del key

#判断性添加数据,如果数据的key存在就添加失败
setnx key value

#一次添加多个数据
mset key1 value1 key2 value2...

#一次获取多个数据
mget key1 key2 key3...

#获取该value的长度
strlen key...

#如果原始信息存在就加上,不存在就新建
append key value

#对该key的value值递增+1
incr key

#对该key的value值指定加多少
incrby key increment

#对该key的value值-1
decr key

#对该key的value值指定减多少
decrby key increment

#设置该数据的过期时间,单位:秒
setex key seconds value

#设置该数据的过期时间,单位:毫秒
psetex key milliseconds value

hash类型 :

key – field value类型,其实就是key-map类型,field就是map的key

#添加或者修改数据
hset key field value

#根据key获取数据,获取的是value值
hget key field

#获取该key的所有数据,获取的是那个map
hget key

#判断性添加数据,如果该数据的key已经存在,就添加失败
hsetnx key field value

#删除数据
hdel key field1 field2...

#一次添加多个数据
hmset key field1 value1 field2 value2 field3 value3...

#一次获取多个数据
hmget key field1 fiedld2...

#获取该key对应的map大小,就是map中有几个键值对
hlen key

#获取map中的所有的key
hkeys key

#获取map中所有的value
hvals key

#设定指定的value增加指定范围的值
hincrby key field increment

#也是增加指定范围的值
hincrbyfloat key field increment

list类型:

key-list,list类型具有索引的概念,有索引概念

#从左边添加数据
lpush key value1 value2...

#从右边添加数据
rpush key value1 value2...

#指定位置获取数据,start是开始的索引,stop是结束索引,0-1的话就是取出全部数据,从左到右数
lrange key start stop

#根据索引获取数据
lindex key index

#获取该key对应的list长度
llen key

#从左边开始获取并移除数据,只会取一个
lpop key

#从右边开始获取并移除数据,只会取一个
rpop key

#删除指定数据多少个 count是个数,比如list中有5个b,我可以只删2个b,还有三个b
lrem key count value

#获取数据,指定时间内没拿到,就返回空,下面两个都是这个功能,分左右的区别
blpop key1 [key2] timeout
brpop key1 [key2] timeout

#取出source中的数据放到destination中
brpoplpush source destination timeout

set类型

key–set类型,set类型的value值不能重复,而且是无序的

#添加数据  member就是value,我反正是这么理解的...
sadd key member1 member

#获取全部数据根据key
smembers key 

#删除数据
srem key member1 member2

#获取集合数据总量
scard key

#判断集合中是否包含指定数据
sismember key member

#随机获取集合中指定数量的数据,就是从里面随便挑count个
srandmember key count

#随机获取集合中数据并将该数据移出集合,跟上面的区别就是会删除
spop key count

#求两个集合的交、并、差集 
sinter key1 key2 … 
sunion key1 key2 …
sdiff key1 key2 …

#求两个集合的交、并、差集并存储到指定集合中
sinterstore destination key1 key2 …
sunionstore destination key1 key2 …
sdiffstore destination key1 key2 …

#将指定数据从原始集合中移动到目标集合中
smove source destination member

还有一个zset也就是sorted set,与set的区别就是他是有序的,听说用的少就不列举了

当时学习的时候脑子秀逗了,很久没有转过圈来。所以用可视化工具看了一下他们在redis中到底是怎么存的,可视化工具是RedisDesktop

String类型,左边框的testString是key,右边的s1是value
String类型
Hash类型:能很清晰的看到他是key-map类型的。适合存对象
hash类型
List类型:list类型的value可以重复
在这里插入图片描述

Set类型:value不能重复,而且最关键的他是无序的,我存的时候是1234这样的顺序
在这里插入图片描述

总结

redis的五种基本类型的命令都差不多,但是list类型可以从左从右添加数据,set可以求交集,并集,差集,对于操作redis存取数据的命令不用去记,用java的代码去操作,比如Jedis,SpringData Redis,Lettuce,并且spring中对这些进行了高度的封装

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:35:16  更:2021-10-11 17:36:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:42:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码