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

相关推荐
小羊没烦恼!17 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里17 小时前
java中的继承和多态的区别
java
小羊没烦恼!17 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕17 小时前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码17 小时前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖17 小时前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时18 小时前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang18 小时前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi19 小时前
mysql 查询所有表名并授权
java
ProcessOn官方账号19 小时前
java函数式编程--入门基础
java·编程·函数式编程