zoukankan      html  css  js  c++  java
  • redis缓存工具类

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.stereotype.Component;
    import org.springframework.util.CollectionUtils;
    
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    import java.util.concurrent.TimeUnit;
    
    @Component
    public class RedisUtil
    {
        @Autowired
        private RedisTemplate redisTemplate;
    
        
        public Object get(String key)
        {
            return key == null ? null : redisTemplate.opsForValue().get(key);
        }
    
        public String getString(String key)
        {
            Object o = redisTemplate.opsForValue().get(key);
            if (o == null)
            {
                return null;
            }
            return String.valueOf(o);
        }
    
        public <T> List<T> getList(String key, Class<T> type)
        {
            String jsonString = getString(key);
    
            if (jsonString != null)
            {
                return JsonUtil.jsonToList(jsonString, type);
            }
    
            return null;
        }
    
        public <T> T getKey2Object(String key, Class<T> type)
        {
            String jsonString = getString(key);
    
            if (jsonString != null)
            {
                return JsonUtil.jsonToPojo(jsonString, type);
            }
    
            return null;
        }
    
        public Set<String> getKeys(String key)
        {
            return redisTemplate.keys(key + "*");
        }
    
        
        public void set(String key, String value)
        {
            try
            {
                redisTemplate.opsForValue().set(key, value);
            }
            catch (Exception e)
            {
            }
        }
    
        public void set(String key, Object value)
        {
            try
            {
                redisTemplate.opsForValue().set(key, JsonUtil.objectToJson(value));
            }
            catch (Exception e)
            {
            }
        }
    
        public boolean set(String key, Object value, long time)
        {
            try
            {
                if (time > 0)
                {
                    redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
                }
                else
                {
                    set(key, value);
                }
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
    
        /////////////////////////////////////////////////////////////////////////////////////////////////////
        // Set functions
        /////////////////////////////////////////////////////////////////////////////////////////////////////
        /**
         * 删除缓存
         *
         * @param key 可以传一个值 或多个
         */
        public void deleteKey(String... key)
        {
            if (key != null && key.length > 0)
            {
                if (key.length == 1)
                {
                    redisTemplate.delete(key[0]);
                }
                else
                {
                    redisTemplate.delete(CollectionUtils.arrayToList(key));
                }
            }
        }
    
        /**
         * 指定缓存失效时间
         *
         * @param key  键
         * @param time 时间(秒)
         * @return
         */
        public boolean expire(String key, long time)
        {
            try
            {
                if (time > 0)
                {
                    redisTemplate.expire(key, time, TimeUnit.SECONDS);
                }
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 根据key 获取过期时间
         *
         * @param key 键 不能为null
         * @return 时间(秒) 返回0代表为永久有效
         */
        public long getExpire(String key)
        {
            return redisTemplate.getExpire(key, TimeUnit.SECONDS);
        }
    
        /**
         * 判断key是否存在
         *
         * @param key 键
         * @return true 存在 false不存在
         */
        public boolean hasKey(String key)
        {
            try
            {
                return redisTemplate.hasKey(key);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 递增
         *
         * @param key   键
         * @param delta 要增加几(大于0)
         * @return
         */
        public long incr(String key, long delta)
        {
            if (delta < 0)
            {
                throw new RuntimeException("递增因子必须大于0");
            }
            return redisTemplate.opsForValue().increment(key, delta);
        }
    
        /**
         * 递减
         *
         * @param key   键
         * @param delta 要减少几(小于0)
         * @return
         */
        public long decr(String key, long delta)
        {
            if (delta < 0)
            {
                throw new RuntimeException("递减因子必须大于0");
            }
            return redisTemplate.opsForValue().increment(key, -delta);
        }
    
        //================================Map=================================
    
        /**
         * HashGet
         *
         * @param key  键 不能为null
         * @param item 项 不能为null
         * @return 值
         */
        public Object hget(String key, String item)
        {
            return redisTemplate.opsForHash().get(key, item);
        }
    
        /**
         * 获取hashKey对应的所有键值
         *
         * @param key 键
         * @return 对应的多个键值
         */
        public Map<Object, Object> hmget(String key)
        {
            return redisTemplate.opsForHash().entries(key);
        }
    
        /**
         * HashSet
         *
         * @param key 键
         * @param map 对应多个键值
         * @return true 成功 false 失败
         */
        public boolean hmset(String key, Map<String, Object> map)
        {
            try
            {
                redisTemplate.opsForHash().putAll(key, map);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * HashSet 并设置时间
         *
         * @param key  键
         * @param map  对应多个键值
         * @param time 时间(秒)
         * @return true成功 false失败
         */
        public boolean hmset(String key, Map<String, Object> map, long time)
        {
            try
            {
                redisTemplate.opsForHash().putAll(key, map);
                if (time > 0)
                {
                    expire(key, time);
                }
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 向一张hash表中放入数据,如果不存在将创建
         *
         * @param key   键
         * @param item  项
         * @param value 值
         * @return true 成功 false失败
         */
        public boolean hset(String key, String item, Object value)
        {
            try
            {
                redisTemplate.opsForHash().put(key, item, value);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 向一张hash表中放入数据,如果不存在将创建
         *
         * @param key   键
         * @param item  项
         * @param value 值
         * @param time  时间(秒)  注意:如果已存在的hash表有时间,这里将会替换原有的时间
         * @return true 成功 false失败
         */
        public boolean hset(String key, String item, Object value, long time)
        {
            try
            {
                redisTemplate.opsForHash().put(key, item, value);
                if (time > 0)
                {
                    expire(key, time);
                }
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 删除hash表中的值
         *
         * @param key  键 不能为null
         * @param item 项 可以使多个 不能为null
         */
        public void hdel(String key, Object... item)
        {
            redisTemplate.opsForHash().delete(key, item);
        }
    
        /**
         * 判断hash表中是否有该项的值
         *
         * @param key  键 不能为null
         * @param item 项 不能为null
         * @return true 存在 false不存在
         */
        public boolean hHasKey(String key, String item)
        {
            return redisTemplate.opsForHash().hasKey(key, item);
        }
    
        /**
         * hash递增 如果不存在,就会创建一个 并把新增后的值返回
         *
         * @param key  键
         * @param item 项
         * @param by   要增加几(大于0)
         * @return
         */
        public double hincr(String key, String item, double by)
        {
            return redisTemplate.opsForHash().increment(key, item, by);
        }
    
        /**
         * hash递减
         *
         * @param key  键
         * @param item 项
         * @param by   要减少记(小于0)
         * @return
         */
        public double hdecr(String key, String item, double by)
        {
            return redisTemplate.opsForHash().increment(key, item, -by);
        }
    
        //============================set=============================
    
        /**
         * 根据key获取Set中的所有值
         *
         * @param key 键
         * @return
         */
        public Set<Object> sGet(String key)
        {
            try
            {
                return redisTemplate.opsForSet().members(key);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * 根据value从一个set中查询,是否存在
         *
         * @param key   键
         * @param value 值
         * @return true 存在 false不存在
         */
        public boolean sHasKey(String key, Object value)
        {
            try
            {
                return redisTemplate.opsForSet().isMember(key, value);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 将数据放入set缓存
         *
         * @param key    键
         * @param values 值 可以是多个
         * @return 成功个数
         */
        public long sSet(String key, Object... values)
        {
            try
            {
                return redisTemplate.opsForSet().add(key, values);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return 0;
            }
        }
    
        /**
         * 将set数据放入缓存
         *
         * @param key    键
         * @param time   时间(秒)
         * @param values 值 可以是多个
         * @return 成功个数
         */
        public long sSetAndTime(String key, long time, Object... values)
        {
            try
            {
                Long count = redisTemplate.opsForSet().add(key, values);
                if (time > 0) expire(key, time);
                return count;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return 0;
            }
        }
    
        /**
         * 获取set缓存的长度
         *
         * @param key 键
         * @return
         */
        public long sGetSetSize(String key)
        {
            try
            {
                return redisTemplate.opsForSet().size(key);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return 0;
            }
        }
    
        /**
         * 移除值为value的
         *
         * @param key    键
         * @param values 值 可以是多个
         * @return 移除的个数
         */
        public long setRemove(String key, Object... values)
        {
            try
            {
                Long count = redisTemplate.opsForSet().remove(key, values);
                return count;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return 0;
            }
        }
        //===============================list=================================
    
        /**
         * 获取list缓存的内容
         *
         * @param key   键
         * @param start 开始
         * @param end   结束  0 到 -1代表所有值
         * @return
         */
        public List<Object> lGet(String key, long start, long end)
        {
            try
            {
                return redisTemplate.opsForList().range(key, start, end);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * 获取list缓存的长度
         *
         * @param key 键
         * @return
         */
        public long lGetListSize(String key)
        {
            try
            {
                return redisTemplate.opsForList().size(key);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return 0;
            }
        }
    
        /**
         * 通过索引 获取list中的值
         *
         * @param key   键
         * @param index 索引  index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推
         * @return
         */
        public Object lGetIndex(String key, long index)
        {
            try
            {
                return redisTemplate.opsForList().index(key, index);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * 将list放入缓存
         *
         * @param key   键
         * @param value 值
         * @return
         */
        public boolean lSet(String key, Object value)
        {
            try
            {
                redisTemplate.opsForList().rightPush(key, value);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 将list放入缓存
         *
         * @param key   键
         * @param value 值
         * @param time  时间(秒)
         * @return
         */
        public boolean lSet(String key, Object value, long time)
        {
            try
            {
                redisTemplate.opsForList().rightPush(key, value);
                if (time > 0) expire(key, time);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 将list放入缓存
         *
         * @param key   键
         * @param value 值
         * @return
         */
        public boolean lSet(String key, List<Object> value)
        {
            try
            {
                redisTemplate.opsForList().rightPushAll(key, value);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 将list放入缓存
         *
         * @param key   键
         * @param value 值
         * @param time  时间(秒)
         * @return
         */
        public boolean lSet(String key, List<Object> value, long time)
        {
            try
            {
                redisTemplate.opsForList().rightPushAll(key, value);
                if (time > 0) expire(key, time);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 根据索引修改list中的某条数据
         *
         * @param key   键
         * @param index 索引
         * @param value 值
         * @return
         */
        public boolean lUpdateIndex(String key, long index, Object value)
        {
            try
            {
                redisTemplate.opsForList().set(key, index, value);
                return true;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return false;
            }
        }
    
        /**
         * 移除N个值为value
         *
         * @param key   键
         * @param count 移除多少个
         * @param value 值
         * @return 移除的个数
         */
        public long lRemove(String key, long count, Object value)
        {
            try
            {
                Long remove = redisTemplate.opsForList().remove(key, count, value);
                return remove;
            }
            catch (Exception e)
            {
                e.printStackTrace();
                return 0;
            }
        }
    
    }
    

      注意:JsonUtil工具类在我的文章里可以找到

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.stereotype.Component;
    import org.springframework.util.CollectionUtils;

    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    import java.util.concurrent.TimeUnit;

    @Component
    public class RedisUtil
    {
    @Autowired
    private RedisTemplate redisTemplate;


    public Object get(String key)
    {
    return key == null ? null : redisTemplate.opsForValue().get(key);
    }

    public String getString(String key)
    {
    Object o = redisTemplate.opsForValue().get(key);
    if (o == null)
    {
    return null;
    }
    return String.valueOf(o);
    }

    public <T> List<T> getList(String key, Class<T> type)
    {
    String jsonString = getString(key);

    if (jsonString != null)
    {
    return JsonUtil.jsonToList(jsonString, type);
    }

    return null;
    }

    public <T> T getKey2Object(String key, Class<T> type)
    {
    String jsonString = getString(key);

    if (jsonString != null)
    {
    return JsonUtil.jsonToPojo(jsonString, type);
    }

    return null;
    }

    public Set<String> getKeys(String key)
    {
    return redisTemplate.keys(key + "*");
    }


    public void set(String key, String value)
    {
    try
    {
    redisTemplate.opsForValue().set(key, value);
    }
    catch (Exception e)
    {
    }
    }

    public void set(String key, Object value)
    {
    try
    {
    redisTemplate.opsForValue().set(key, JsonUtil.objectToJson(value));
    }
    catch (Exception e)
    {
    }
    }

    public boolean set(String key, Object value, long time)
    {
    try
    {
    if (time > 0)
    {
    redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
    }
    else
    {
    set(key, value);
    }
    return true;
    }
    catch (Exception e)
    {
    return false;
    }
    }

    /////////////////////////////////////////////////////////////////////////////////////////////////////
    // Set functions
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    /**
    * 删除缓存
    *
    * @param key 可以传一个值 或多个
    */
    public void deleteKey(String... key)
    {
    if (key != null && key.length > 0)
    {
    if (key.length == 1)
    {
    redisTemplate.delete(key[0]);
    }
    else
    {
    redisTemplate.delete(CollectionUtils.arrayToList(key));
    }
    }
    }

    /**
    * 指定缓存失效时间
    *
    * @param key
    * @param time 时间(秒)
    * @return
    */
    public boolean expire(String key, long time)
    {
    try
    {
    if (time > 0)
    {
    redisTemplate.expire(key, time, TimeUnit.SECONDS);
    }
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 根据key 获取过期时间
    *
    * @param key 键 不能为null
    * @return 时间(秒) 返回0代表为永久有效
    */
    public long getExpire(String key)
    {
    return redisTemplate.getExpire(key, TimeUnit.SECONDS);
    }

    /**
    * 判断key是否存在
    *
    * @param key
    * @return true 存在 false不存在
    */
    public boolean hasKey(String key)
    {
    try
    {
    return redisTemplate.hasKey(key);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 递增
    *
    * @param key
    * @param delta 要增加几(大于0)
    * @return
    */
    public long incr(String key, long delta)
    {
    if (delta < 0)
    {
    throw new RuntimeException("递增因子必须大于0");
    }
    return redisTemplate.opsForValue().increment(key, delta);
    }

    /**
    * 递减
    *
    * @param key
    * @param delta 要减少几(小于0)
    * @return
    */
    public long decr(String key, long delta)
    {
    if (delta < 0)
    {
    throw new RuntimeException("递减因子必须大于0");
    }
    return redisTemplate.opsForValue().increment(key, -delta);
    }

    //================================Map=================================

    /**
    * HashGet
    *
    * @param key 键 不能为null
    * @param item 项 不能为null
    * @return
    */
    public Object hget(String key, String item)
    {
    return redisTemplate.opsForHash().get(key, item);
    }

    /**
    * 获取hashKey对应的所有键值
    *
    * @param key
    * @return 对应的多个键值
    */
    public Map<Object, Object> hmget(String key)
    {
    return redisTemplate.opsForHash().entries(key);
    }

    /**
    * HashSet
    *
    * @param key
    * @param map 对应多个键值
    * @return true 成功 false 失败
    */
    public boolean hmset(String key, Map<String, Object> map)
    {
    try
    {
    redisTemplate.opsForHash().putAll(key, map);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * HashSet 并设置时间
    *
    * @param key
    * @param map 对应多个键值
    * @param time 时间(秒)
    * @return true成功 false失败
    */
    public boolean hmset(String key, Map<String, Object> map, long time)
    {
    try
    {
    redisTemplate.opsForHash().putAll(key, map);
    if (time > 0)
    {
    expire(key, time);
    }
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 向一张hash表中放入数据,如果不存在将创建
    *
    * @param key
    * @param item
    * @param value
    * @return true 成功 false失败
    */
    public boolean hset(String key, String item, Object value)
    {
    try
    {
    redisTemplate.opsForHash().put(key, item, value);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 向一张hash表中放入数据,如果不存在将创建
    *
    * @param key
    * @param item
    * @param value
    * @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间
    * @return true 成功 false失败
    */
    public boolean hset(String key, String item, Object value, long time)
    {
    try
    {
    redisTemplate.opsForHash().put(key, item, value);
    if (time > 0)
    {
    expire(key, time);
    }
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 删除hash表中的值
    *
    * @param key 键 不能为null
    * @param item 项 可以使多个 不能为null
    */
    public void hdel(String key, Object... item)
    {
    redisTemplate.opsForHash().delete(key, item);
    }

    /**
    * 判断hash表中是否有该项的值
    *
    * @param key 键 不能为null
    * @param item 项 不能为null
    * @return true 存在 false不存在
    */
    public boolean hHasKey(String key, String item)
    {
    return redisTemplate.opsForHash().hasKey(key, item);
    }

    /**
    * hash递增 如果不存在,就会创建一个 并把新增后的值返回
    *
    * @param key
    * @param item
    * @param by 要增加几(大于0)
    * @return
    */
    public double hincr(String key, String item, double by)
    {
    return redisTemplate.opsForHash().increment(key, item, by);
    }

    /**
    * hash递减
    *
    * @param key
    * @param item
    * @param by 要减少记(小于0)
    * @return
    */
    public double hdecr(String key, String item, double by)
    {
    return redisTemplate.opsForHash().increment(key, item, -by);
    }

    //============================set=============================

    /**
    * 根据key获取Set中的所有值
    *
    * @param key
    * @return
    */
    public Set<Object> sGet(String key)
    {
    try
    {
    return redisTemplate.opsForSet().members(key);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return null;
    }
    }

    /**
    * 根据value从一个set中查询,是否存在
    *
    * @param key
    * @param value
    * @return true 存在 false不存在
    */
    public boolean sHasKey(String key, Object value)
    {
    try
    {
    return redisTemplate.opsForSet().isMember(key, value);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 将数据放入set缓存
    *
    * @param key
    * @param values 值 可以是多个
    * @return 成功个数
    */
    public long sSet(String key, Object... values)
    {
    try
    {
    return redisTemplate.opsForSet().add(key, values);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return 0;
    }
    }

    /**
    * 将set数据放入缓存
    *
    * @param key
    * @param time 时间(秒)
    * @param values 值 可以是多个
    * @return 成功个数
    */
    public long sSetAndTime(String key, long time, Object... values)
    {
    try
    {
    Long count = redisTemplate.opsForSet().add(key, values);
    if (time > 0) expire(key, time);
    return count;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return 0;
    }
    }

    /**
    * 获取set缓存的长度
    *
    * @param key
    * @return
    */
    public long sGetSetSize(String key)
    {
    try
    {
    return redisTemplate.opsForSet().size(key);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return 0;
    }
    }

    /**
    * 移除值为value的
    *
    * @param key
    * @param values 值 可以是多个
    * @return 移除的个数
    */
    public long setRemove(String key, Object... values)
    {
    try
    {
    Long count = redisTemplate.opsForSet().remove(key, values);
    return count;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return 0;
    }
    }
    //===============================list=================================

    /**
    * 获取list缓存的内容
    *
    * @param key
    * @param start 开始
    * @param end 结束 0 到 -1代表所有值
    * @return
    */
    public List<Object> lGet(String key, long start, long end)
    {
    try
    {
    return redisTemplate.opsForList().range(key, start, end);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return null;
    }
    }

    /**
    * 获取list缓存的长度
    *
    * @param key
    * @return
    */
    public long lGetListSize(String key)
    {
    try
    {
    return redisTemplate.opsForList().size(key);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return 0;
    }
    }

    /**
    * 通过索引 获取list中的值
    *
    * @param key
    * @param index 索引 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推
    * @return
    */
    public Object lGetIndex(String key, long index)
    {
    try
    {
    return redisTemplate.opsForList().index(key, index);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return null;
    }
    }

    /**
    * 将list放入缓存
    *
    * @param key
    * @param value
    * @return
    */
    public boolean lSet(String key, Object value)
    {
    try
    {
    redisTemplate.opsForList().rightPush(key, value);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 将list放入缓存
    *
    * @param key
    * @param value
    * @param time 时间(秒)
    * @return
    */
    public boolean lSet(String key, Object value, long time)
    {
    try
    {
    redisTemplate.opsForList().rightPush(key, value);
    if (time > 0) expire(key, time);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 将list放入缓存
    *
    * @param key
    * @param value
    * @return
    */
    public boolean lSet(String key, List<Object> value)
    {
    try
    {
    redisTemplate.opsForList().rightPushAll(key, value);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 将list放入缓存
    *
    * @param key
    * @param value
    * @param time 时间(秒)
    * @return
    */
    public boolean lSet(String key, List<Object> value, long time)
    {
    try
    {
    redisTemplate.opsForList().rightPushAll(key, value);
    if (time > 0) expire(key, time);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 根据索引修改list中的某条数据
    *
    * @param key
    * @param index 索引
    * @param value
    * @return
    */
    public boolean lUpdateIndex(String key, long index, Object value)
    {
    try
    {
    redisTemplate.opsForList().set(key, index, value);
    return true;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 移除N个值为value
    *
    * @param key
    * @param count 移除多少个
    * @param value
    * @return 移除的个数
    */
    public long lRemove(String key, long count, Object value)
    {
    try
    {
    Long remove = redisTemplate.opsForList().remove(key, count, value);
    return remove;
    }
    catch (Exception e)
    {
    e.printStackTrace();
    return 0;
    }
    }

    }
  • 相关阅读:
    .linearDrag on rigidbody / rigidbody2D in code?
    Unity5权威讲解+项目源码+MP4
    C#的扩展方法解说
    use crunch compression
    IIS服务命令
    使用批处理打开控制面板中的功能
    一次性在一个文件夹里建立多个文件夹
    bat 批处理切换到当前脚本所在文件夹
    %date~0,4%和 %time~0,2%等用法详解(转)
    DOS批处理高级教程(还不错)(转)
  • 原文地址:https://www.cnblogs.com/hjw-zq/p/9685638.html
Copyright © 2011-2022 走看看