redis基础(java客户端)

java客户端

jedis:学习成本低,但是线程不安全

lettuce:支持同步、异步、响应式编程,线程安全,支持redis哨兵模式,集群模式和管道模式

redisson:基于redis实现高级功能

jedis

java 复制代码
public class jedisPoolFactory {
    private static JedisPool jedisPool;
    static {
        //配置连接池
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(8);
        jedisPoolConfig.setMinIdle(0);
        jedisPoolConfig.setMaxTotal(8);
        jedisPoolConfig.setMaxWaitMillis(1000);

        //创建连接池对象
        jedisPool =new JedisPool(jedisPoolConfig,"192.168.160.154",6379,1000,"123321");
    }
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}
java 复制代码
class RedisJavaCliApplicationTests {

    private Jedis jedis;


    @BeforeEach
    public void before(){
        jedis=jedisPoolFactory.getJedis();
    }

    @Test
    public void Test(){
        String result=jedis.set("djw","sb");
        System.out.println(result);
        System.out.println(jedis.get("djw"));
    }

    @AfterEach
    public void after(){
        if(jedis!=null)
            jedis.close();
    }
}

spring data redis

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

API 返回值类型 value类型
redisTemplate.opsForValue() ValueOperations String
redisTemplate.opsForHash() HashOperations Hash
redisTemplate.opsForList() ListOperations List
redisTemplate.opsForSet() SetOperations Set
redisTemplate.opsForZSet() ZSetOperations SortedSet
redisTemplate 通用命令

传入的value值是Object类型,会自动进行序列化和反序列化

StringRedisTemplate

为了节省内存空间,当存储java对象时,手动完成完成对象的序列化和反序列化

相关推荐
两个蝴蝶飞1 天前
Java量化系列(四):实现自选股票维护功能
java·经验分享
短剑重铸之日1 天前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
酒九鸠玖1 天前
Java--多线程
java
Dreamboat-L1 天前
云服务器上部署nginx
java·服务器·nginx
长安er1 天前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
cici158741 天前
C#实现三菱PLC通信
java·网络·c#
k***92161 天前
【C++】继承和多态扩展学习
java·c++·学习
weixin_440730501 天前
java结构语句学习
java·开发语言·学习
JIngJaneIL1 天前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Coder_Boy_1 天前
Spring AI 源码大白话解析
java·人工智能·spring