Redis五种基本数据类型

本文详细介绍了Redis中的五种基本数据类型:String、Hash、List、Set和SortedSet,包括它们的介绍、语法和使用示例,以及它们在实际场景中的应用,如计数器和对象缓存存储。
摘要由CSDN通过智能技术生成

基本数据类型

1、String

# 介绍:
Stirng 可以是jpg图片 或 序列化的对象
# 基本语法
set key value
get key
# 使用:
127.0.0.1:6379> set name packet				设置name 为 packet 
OK											系统回应OK
127.0.0.1:6379> get name					获得name值
"packet"         							系统回应"packet"

进阶用法:

# 设置对象 id=1 
set user:1 {name:zhangsan,age:3} # 设置usre:1  对象,值为json字符串
# redis中
mset user:1:name zhangsan user:1:age 3 # 将user:1:name 作为 key 与 user:1:age 作为key


  • 计数器
  • 统计多单位数量
  • 粉丝数
  • 对象缓存存储

incr id:follows

2、Hash哈希

# 介绍:
是键值对集合
适合存储对象
# 基本语法:
HMSET 对象 key value key value .....
# 基本使用:
127.0.0.1:6379> HMSET person name packet age 18			创建person对象,第一个键值对 name packet 二:age 18 
OK														系统回应 OK
127.0.0.1:6379> HGET person name						获取person对象中key 为 name 的值
"packet"
127.0.0.1:6379> HGET person age							获取person对象中key 为 age 的值
"18"

用户信息保存:变更信息的内容,

3、List

# 介绍
是字符串列表
按插入顺序排序
可以添加字符串在头部或尾部 
# 基本语法:
lpush 字符串名字 字符串
lrange 字符串名字 起始下标  终止下标
# 使用
127.0.0.1:6379> DEL person	 								已经创建的需要删除,不然会报错
(integer) 1													系统回复1,表示成功
127.0.0.1:6379> lpush person name							插入字符串数组person ,第一为name
(integer) 1													第1个插入成功
127.0.0.1:6379> lpush person age							插入字符串数组person ,第一为age
(integer) 2													第2个插入成功
127.0.0.1:6379> lpush person gender							插入字符串数组person ,第一为gender
(integer) 3													第3个插入成功
127.0.0.1:6379> lrange person 0 2							获取person字符串中0-2的字符		
1) "gender"
2) "age"
3) "name"

进阶:

  • 栈、队列、阻塞队列
  • 实际上是一个链表,头插,尾插都是可以的
  • 消息排队,消息队列

4、set

#介绍
是string类型的无序集合。集合是通过哈希表实现的,所以添加、删除、查找复杂度都是O(1)
不可以重复
#基本语法
sadd key value
127.0.0.1:6379> sadd pp name
(integer) 1
127.0.0.1:6379> sadd pp age 
(integer) 1
127.0.0.1:6379> sadd pp gender
(integer) 1
127.0.0.1:6379> smembers pp
1) "name"
2) "age"
3) "gender"

共同关注:差集、补集

微博、将所有关注的人放在一个集合中,他的粉丝也放在一个集合中,共同好友,

5、zset(sorted set 有序集合)

# 介绍
与List 类似 ,但是不允许有重复的 , 每个元素都会关联一个double类型的分数。
按照这个分数从小到大排序 ,, 且score是可以重复的

# 基本语法
zadd 字符串名字 score 字符串
zrangebyscore 字符串名字 起始下标 结束下标
#基本使用 
127.0.0.1:6379> ZADD person 0 name						插入字符串数组person 第一个为name 分数为0
(integer) 1												系统回复1,插入成功
127.0.0.1:6379> zadd person 1 age						插入字符串数组person 第一个为age 分数为1
(integer) 1												系统回复1,插入成功
127.0.0.1:6379> zadd person 2 gender					插入字符串数组person 第一个为gender 分数为1
(integer) 1												系统回复1,插入成功
127.0.0.1:6379> zrangebyscore person 0 2
1) "name"
2) "age"
3) "gender"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值