Redis基础操作

Redis基础操作

一、Redis 数据类型(5种)

Redis 数据类型对应Java数据类型
stringString
hashHashMap
listLinkedList
setHashSet
sorted_setTreeSet

1、Redis 数据存储格式

  • redis 自身是一个Map,其中所有的数据都是采用key ; value 的形式存储
  • 数据类型是指存储的数据的类型,也就是 value 部分的类型 ,key部分永远是字符串类型
  • key 的语法:
    • 在一个项目中,key最好使用统一的命名方式
    • key 区分大小写
    • key不要太长,尽量不要超过1024字节。不仅消耗内存,也会降低查找的效率
    • key不要太短,太短可读性会降低

二、String

  • 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型
  • 存储数据的格式:一个存储空间保存一个数据
  • 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5R1oWXj9-1692000091344)(E:\APESOURCE\学习笔记\image\redis-Stirng基本操作.png)]

三、hash

1.hash哈希特点

  • 新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息
  • 需要的存储结构:一个存储空间保存多个键值对数据
  • hash类型:底层使用哈希表结构实现数据存储

2、hash存储结构优化

  • 如果fifield数量较少,存储结构优化为类数组结构
  • 如果fifield数量较多,存储结构使用HashMap结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y9FKNrYL-1692000091345)(E:\APESOURCE\学习笔记\image\redis-hash基本操作.png)]

3、注意事项

  • hash类型下的value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象。如果数据未获取到,对应的值为(nil)
  • 每个 hash 可以存储 232-1个键值对
  • hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性。但hash设计初衷不是为了存储大量对象而设计的,切记不可滥用,更不可以将hash作为对象列表使用
  • hgetall 操作可以获取全部属性,如果内部field过多,遍历整体数据效率就很会低,有可能成为数据访问瓶颈

四、List

  • 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
  • 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
  • list类型:保存多个数据,底层使用双向链表存储结构实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H2stvrSf-1692000091345)(E:\APESOURCE\学习笔记\image\redis-list基本操作.png)]

1、list 类型数据操作注意事项

  • list中保存的数据都是string类型的,数据总容量是有限的,最多232-1个元素 (4294967295)
  • list具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作,或以栈的形式进行入栈出栈操作
  • 获取全部数据操作结束索引设置为-1
  • list可以对数据进行分页操作,通常第一页的信息来自于list,第2页及更多的信息通过数据库的形式加载

五、Set

  • 新的存储需求:存储大量的数据,在查询方面提供更高的效率
  • 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询
  • set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jBXcqhOm-1692000091346)(E:\APESOURCE\学习笔记\image\redis-set基本操作.png)]

1、set 类型数据操作的注意事项

  • set 类型不允许数据重复,如果添加的数据在 set 中已经存在,将只保留一份
  • set 虽然与hash的存储结构相同,但是无法启用hash中存储值的空间

六、sorted_set

  • 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
  • 需要的存储结构:新的存储模型,可以保存可排序的数据
  • sorted_set类型:在set的存储结构基础上添加可排序字段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EPB5AgLx-1692000091346)(E:\APESOURCE\学习笔记\image\redis-sorted_set基本操作.png)]

七、Jedis

Java 提供的专门来操作 Redis 的技术

1、导入依赖包

<!--导入jedis的包-->
<dependencies>
	<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
	<dependency>
		<groupId>redis.clients</groupId>
		<artifactId>jedis</artifactId>
		<version>3.2.0</version>
	</dependency>
</dependencies>

2、测试

import redis.clients.jedis.Jedis;
public class TestPing {
	public static void main(String[] args) {
		// 1、 new Jedis 对象即可
        // Jedis 中封装了所有java对Redis数据库的一系列操作
		Jedis jedis = new Jedis("127.0.0.1",6379);
		// jedis 所有的命令就是我们之前学习的所有指令!所以之前的指令学习很重要!
		System.out.println(jedis.ping());
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kⅈꫛᧁ269

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值