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集合,如果有长度,则代表事务提交成功。 } });