redis基本知识,redis十大基础知识

首页 > 经验 > 作者:YD1662022-10-31 23:05:23

SortedSet

Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加hash表。
SortedSet具备下列特性:
可排序
元素不重复
查询速度快
因为SortedSet的可排序特性,经常被用来实现排行榜这样的功能。

SortedSet类型的常见命令
ZADD key score member:添加一个或多个元素到sorted set,如果已经存在则更新其score值
ZREM key member:删除sorted set中的一个指定元素
ZSCORE key member:获取sorted set中的指定元素的score值
ZRANK key member:获取sorted set 中的指定元素的排名
ZCARD key:获取sorted set中的元素个数
ZCOUNT key min max:统计score值在给定范围内的所有元素的个数
ZINCRBY key increment member:让sorted set中的指定元素自增,步长为指定的increment值
ZRANGE key min max:按照score排序后,获取指定排名范围内的元素
ZRANGEBYSCORE key min max:按照score排序后,获取指定score范围内的元素ZDIFF、ZINTER、ZUNION:求差集、交集、并集
注意:所有的排名默认都是升序,如果要降序则在命令的Z后面添加REV即可



redis基本知识,redis十大基础知识(13)



redis基本知识,redis十大基础知识(14)

redis的JAVA客户端

Redis的Java客户端很多,常用的有三种:Jedis、Redisson和lettuce。其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis。Jedis提供了完整Redis命令,而Redisson有更多分布式的容器实现。
以下就以Jedis为例看看如何使用
1.导入依赖坐标

<dependency> <groupId>redis.clients</groupId> ○<artifactId>jedis</artifactId> <version>3.7.0</version> </dependency>

2.建立连接

private Jedisjedis; @BeforeEach voidsetUp() { // 建立连接 jedis = new Jedis("192.168.220.130 ",6379);// 设置密码 jedis.auth("123456"); // 选择库 jedis.select(0); }

3.测试String

@Test voidtestString(){ //插入数据,方法名称就是redis命令名称,非常简单 Stringresult = jedis.set("name","三"); System.out.println("result=" result);//获取数据 String name = jedis.get("name"); System.out.println("name= " name); }

4.释放资源

@AfterEach void tearDown() { //释放资源 if(jedis != null) { jedis.close(); } }

因此,Jedis使用的基本步骤:
1.引入依赖
2.创建Jedis对象,建立连接
3.使用Jedis,方法名与Redis命令一致
4.释放资源

SpringDataRedis

SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis
它有以下几个作用:
提供了对不同Redis客户端的整合(Lettuce和Jedis)
提供了RedisTemplate统一API来操作Redis
支持Redis的发布订阅模型
支持Redis哨兵和Redis集群
支持基于Lettuce的响应式编程
支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化
支持基于Redis的JDKCollection实现

快速入门
SpringDataRedis中提供了RedisTemplate工具类,其中封装了各种对Redis的操作。并且将不同数据类型的操作API封装到了不同的类型中:



redis基本知识,redis十大基础知识(15)

以springboot模板为例

1.引入依赖

<!--Redis依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--连接池依赖--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency>

2.yml配置文件

spring: redis: host:192.168.220.130 port:6379 password:123456 lettuce: pool: max-active:8 #最大连接 max-idle:8 #最大空闲连接 min-idle: 0 #最小空闲连接 max-wait:100 # 连接等待时间

3.注入RedisTemplate

@Autowired private RedisTemplate redisTemplate;

4.编写测试

@SpringBootTest public class RedisTest { @Autowired private RedisTemplateredisTemplate; @Test voidtestString(){ // 插入一条string类型数据 redisTemplate.opsForValue().set("name","李四");//读取一条string型数据 Object name = redisTemplate.opsForValue().get("name"); System.out.println("name = " name) ; } }

SpringDataRedis的使用步骤:
1.引入spring-boot-starter-data-redis依赖
2.在application.yml配置Redis信息
3.注入RedisTemplate

最后,有需要java面试、学习相关资料包可以评论留言【java】

,
上一页1234末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.