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对象时,手动完成完成对象的序列化和反序列化

相关推荐
我不会起名字3229 小时前
Redis 从 0 到 1(十七):订单 30 分钟不支付自动关闭——ZSet 延迟队列 Go 实现
redis·go·延迟队列·zset·订单
天河归来9 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL10 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
砚底藏山河11 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
利威尔xu11 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
猿究院_夏燊11 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子12 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质12 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys12 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot