zoukankan      html  css  js  c++  java
  • 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集合,如果有长度,则代表事务提交成功。
                }
    });
  • 相关阅读:
    ajax(ajax开发)
    gnuplot常用技巧
    Gunplot 命令大全
    程序员的绘图利器 — Gnuplot
    什么是 gnuplot
    QT正则表达式---针对IP地址
    JSP实现分页功能
    java.lang.OutOfMemoryError: Java heap space错误及处理办法
    getInitParameter()
    C/S软件的自动升级部署
  • 原文地址:https://www.cnblogs.com/pogusanqian/p/13037494.html
Copyright © 2011-2022 走看看