目录
SpringBoot整合redis
1、集成jedis
1、添加依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>5.0.2</version>
</dependency>
示例:
public class JdeisTest {
public static void main(String[] args) {
//连接redis
Jedis jedis = new Jedis("192.168.200.129",6379);
//密码
jedis.auth("123456");
System.out.println(jedis.ping());
//keys
Set<String> keys = jedis.keys("*");
System.out.println(keys);
//string
jedis.set("jedis","hello-jedis");
System.out.println(jedis.get("jedis"));
jedis.expire("jedis",10L);
//list
jedis.lpush("list","list1","list2","list3","list4","list5");
List<String> list = jedis.lrange("list", 0, -1);
for (String s : list) {
System.out.println(s);
}
//set
jedis.sadd("set","set1");
jedis.sadd("set","set2");
jedis.sadd("set","set3");
Set<String> set = jedis.smembers("set");
for (String s : set) {
System.out.println(s);
}
//从存储在键处的设置值中删除指定成员
long set1 = jedis.srem("set", "1");
//hash
jedis.hset("hash","username","lisi");
System.out.println(jedis.hget("hash","username"));
Map map = new HashMap();
map.put("age","20");
map.put("address","杭州");
jedis.hmset("hash2", map);
List<String> hash = jedis.hmget("hash2","age","address");
for (String s : hash) {
System.out.println(s);
}
//zset
jedis.zadd("zset",10d,"zset1");
jedis.zadd("zset",10d,"zset2");
List<String> zset = jedis.zrange("zset", 0, -1);
for (String member : zset) {
System.out.println(member);
}
}
}
结果:
优点:
- 简单易用:Jedis提供了简洁的API,使得与Redis进行交互变得简单和直观。
- 良好的性能:Jedis是一个轻量级的框架,它使用直接的、高效的Redis协议与数据库进行通信,具有较低的延迟和较高的吞吐量。
- 多样的功能:Jedis支持Redis的各种功能,如字符串操作、哈希表、列表、集合、有序集合等等,可以满足大部分的应用需求。
- 支持连接池:Jedis提供了连接池的支持,可以管理和复用多个Redis连接,提高资源利用率和性能。
- 开源社区支持:Jedis是一个开源项目,拥有活跃的开源社区,用户可以从社区中获取支持、解决问题以及共享经验。
缺点:
- 异步操作限制:Jedis在执行命令时是同步的,即发送命令后会阻塞等待结果返回,这在某些场景下可能会影响性能。虽然Jedis提供了异步操作的支持,但是相对于其他异步框