zoukankan      html  css  js  c++  java
  • json域转实体域

    //ACCESS_TOKEN
    @JsonProperty(value = "access_token")
    private String accessToken;
    //过期时间,单位为秒
    @JsonProperty(value = "expires_in")
    private long expiresIn;
    //REFRESH_TOKEN
    @JsonProperty(value = "refresh_token")
    private String refreshToken;
    @JsonProperty(value = "scope")
    private String scope;
    @JsonProperty(value = "session_key")
    private String sessionKey;
    @JsonProperty(value = "session_secret")
    private String sessionSecret;

    @Service("iRedisService")
    public class RedisImpl implements IRedisService {

    @Autowired
    private RedisTemplate<String, ?> redisTemplate;

    /**
    * 设置给定key的值,若key已经存在,set复写旧值
    * @param key
    * @param value
    * @return
    */
    public boolean set(final String key, final String value) {
    boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
    public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    connection.set(serializer.serialize(key), serializer.serialize(value));
    return true;
    }
    });
    return result;
    }

    /**
    * 设置给定key的值和有效时间,若key已经存在,复写旧值,并重新计算有效时间
    * @param key
    * @param value
    * @param expire
    * @return
    */
    public boolean set(final String key, final String value, final long expire) {
    boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
    public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    connection.setEx(serializer.serialize(key), expire, serializer.serialize(value));
    return true;
    }
    });
    return result;
    }


    /**
    * 获取key的value
    * @param key
    * @return
    */
    public String get(final String key){
    String result = redisTemplate.execute(new RedisCallback<String>() {
    public String doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    byte[] value = connection.get(serializer.serialize(key));
    return serializer.deserialize(value);
    }
    });
    return result;
    }

    /**
    * 设置给定key的过期时间(单位为秒)
    * @param key
    * @param expire
    * @return
    */
    public boolean expire(final String key, final long expire) {
    return redisTemplate.expire(key, expire, TimeUnit.SECONDS);
    }

    /**
    * 删除指定的key
    * @param key
    * @return
    */
    public long delete(final String key) {

    if (PublicUtil.areNotEmpty(key)){
    Long result = redisTemplate.execute(new RedisCallback<Long>() {
    @Override
    public Long doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    long count = connection.del(serializer.serialize(key));
    return count;
    }
    });
    return result;
    }
    return -1;
    }

    /**
    * 判断给定的key是否存在
    * @param key
    * @return
    */

    public boolean exist(final String key) {
    if (key!=null&&!("").equals(key)){
    boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {

    public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    boolean flag = connection.exists(serializer.serialize(key));
    return flag;
    }
    });
    return result;
    }
    return false;
    }

    /**
    * 存放object类型
    * @param key
    * @param object
    */

    public void setObject(String key, Object object) {
    JSONObject jsonObject = JSONObject.fromObject(object);
    set(key,jsonObject.toString());
    }


    public void setObject(String key, Object object, long expire) {
    setObject(key,object);
    expire(key,expire);
    }

    /**
    * 将一个或多个值插入到列表头部
    * @param key
    * @param obj
    * @return
    * @throws IOException
    */
    public long lpush(final String key, Object obj) throws IOException {
    final String value = JsonUtil.toJson(obj);
    long result = redisTemplate.execute(new RedisCallback<Long>() {
    @Override
    public Long doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    long count = connection.lPush(serializer.serialize(key), serializer.serialize(value));
    return count;
    }
    });
    return result;
    }

    /**
    * 将一个或多个值插入到列表尾部
    * @param key
    * @param obj
    * @return
    * @throws IOException
    */
    public long rpush(final String key, Object obj) throws IOException {
    final String value = JsonUtil.toJson(obj);
    long result = redisTemplate.execute(new RedisCallback<Long>() {
    @Override
    public Long doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    long count = connection.rPush(serializer.serialize(key), serializer.serialize(value));
    return count;
    }
    });
    return result;
    }

    /**
    * 从 list 的头部删除元素,并返回删除元素
    * @param key
    * @return
    */
    @Override
    public String lpop(final String key) {
    String result = redisTemplate.execute(new RedisCallback<String>() {
    public String doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    byte[] res = connection.lPop(serializer.serialize(key));
    return serializer.deserialize(res);
    }
    });
    return result;
    }

    /**
    * 从 list 的尾部删除元素,并返回删除元素
    * @param key
    * @return
    */
    @Override
    public String rpop(final String key) {
    String result = redisTemplate.execute(new RedisCallback<String>() {
    @Override
    public String doInRedis(RedisConnection connection) throws DataAccessException {
    RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
    byte[] res = connection.rPop(serializer.serialize(key));
    return serializer.deserialize(res);
    }
    });
    return result;
    }
  • 相关阅读:
    ScottGu: 宣布微软 AJAX CDN
    表格数据流协议TDS
    .NET 4 System.Threading.Barrier 类
    企业架构思考
    OpenSSL的托管项目
    WCF服务中操作FormsAuthentication的Cookie
    Silverlight相关博客收集20090927
    Sync Framework 2.0
    [中央电视台·见证]大学堂——兰州大学
    系统进程管理工具Process Explorer
  • 原文地址:https://www.cnblogs.com/liangmm/p/11677566.html
Copyright © 2011-2022 走看看