zoukankan      html  css  js  c++  java
  • 我在公司的第一个Redis代码

    @Resource(name = "omStringRedisTemplate")
        private StringRedisTemplate stringRedisTemplate;
    
        private String SHIPPER_BANNER_DISPLAY_KEY_PREFIX = "shipper_banner_disPlay_userId_";
    
        private String SETNX_EXPIRE_LUA = "if redis.call('setnx', KEYS[1], ARGV[1]) == 1 then redis.call('expire', KEYS[1], ARGV[2]) return 'true' else return 'false' end";
    String flag = stringRedisTemplate.execute(new RedisCallback<String>() {
                @Override
                public String doInRedis(RedisConnection connection) throws DataAccessException {
                    Object nativeConnection = connection.getNativeConnection();
                    // 集群模式和单机模式虽然执行脚本的方法一样,但是没有共同的接口,所以只能分开执行
                    // 集群模式
                    if (nativeConnection instanceof JedisCluster) {
                        return (String) ((JedisCluster) nativeConnection).eval(SETNX_EXPIRE_LUA, keys, args);
                    }
    
                    // 单机模式
                    else if (nativeConnection instanceof Jedis) {
                        return (String) ((Jedis) nativeConnection).eval(SETNX_EXPIRE_LUA, keys, args);
                    }
                    return "false";
                }
            });
    
            return Boolean.valueOf(flag) ;
  • 相关阅读:
    Linux 用户和用户组配置文件
    Linux su和sudo的区别
    4-selenium-xpath定位
    3-selenium-元素定位
    1-selenium3安装
    vim 查看行数
    java学习day27-JavaScript
    java学习day26-CSS定位
    java学习day26-CSS(2)-布局+属性
    java学习day26-CSS(1)
  • 原文地址:https://www.cnblogs.com/juniorMa/p/14763329.html
Copyright © 2011-2022 走看看