213-RedisTemplate如何实现操作Redis?

1.如何实现Redis数据库的序列化?
  private StringRedisSerializer stringRedisSerializer=new StringRedisSerializer();
  redisTemplate.setKeySerializer(stringRedisSerializer);
       redisTemplate.setValueSerializer(stringRedisSerializer
);

2.如何增删改查数据库?、

  2.1根据key获取value:redisTemplate.opsForValue().get(Constants.GOODS_STORE+randomName);

  2.2.根据键自增value:redisTemplate.opsForValue().increment(Constants.CURRENT_LIMITING);

  2.3.根据键自减value:redisTemplate.opsForValue().decrement(Constants.CURRENT_LIMITING);

  2.4.添加value:redisOperations.opsForValue().set(Constants.PURCHASE_LIMITS+randomName+uid,"1");
  2.5.根据键删除数据:redisTemplate.delete(key1);

3.事务操作

  3.1:开始事务:redisTeleplate.multi();

  3.2:关闭事务:redisTeleplate.exec();但是这样操作会报错,主要原因是提交事务的对象不一样。

  3.3:开始事务:

 Object result= redisTemplate.execute(new SessionCallback() {
            public Object execute(RedisOperations redisOperations) throws DataAccessException {
                //定义需要被监控的key的集合
                List<String> list=new ArrayList<String>();
                redisOperations.watch(list);//开启监听
                redisOperations.multi();//开启事务
                redisOperations.opsForValue().decrement(Constants.GOODS_STORE+randomName);
                redisOperations.opsForValue().set(Constants.PURCHASE_LIMITS+randomName+uid,"1");
                return redisOperations.exec();//提交事务,返回值是一个List集合,如果有长度,则代表事务提交成功。
            }
});
原文地址:https://www.cnblogs.com/pogusanqian/p/13037494.html