首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

spring data redis 高级篇list的有关用法

2013-03-25 
spring data redis 高级篇list的相关用法?服务接口类RedisServicepackage com.xiangrikui.iaskservice.com

spring data redis 高级篇list的相关用法

?服务接口类RedisService

package com.xiangrikui.iaskservice.common.redis;import java.util.List;import java.util.Set;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import redis.clients.jedis.Jedis;/** * 封装redis 缓存服务器服务接口 *  * @author hk *  *         2012-12-16 上午3:09:18 */public class RedisService {/** * 从指定的列表右边出队,添加到目的列表中 *  * @param srckey *            源列表 * @param dstkey *             目的列表 * @return */public String rpoppush(String srckey, String dstkey) {return this.getJedis().rpoplpush(srckey, dstkey);}/** * 获取指定列表的范围数据 *  * @param key *             列表名 * @param start *             开始位置 * @param end *             结束位置 * @return */public Listlrange(String key, int start, int end) {return this.getJedis().lrange(key, start, end);}/** * 从队列的左边取出一条数据 *  * @param key *             列表名 * @return */public String lpop(String key) {return this.getJedis().lpop(key);}/** * 从队列的右边取出一条数据 *  * @param key *            列表名 * @return */public String rpop(String key) {return this.getJedis().rpop(key);}/** * 把一个值添加到对应列表中 *  * @param key *            列表名 * @param index *             添加的位置 * @param value *             数据 * @return */public String lset(String key, long index, String value) {return this.getJedis().lset(key, index, value);}/** * 把所有数据添加到一个列表中 *  * @param key *            列表名 * @param values *             数据 * @return */public long lpush(String key, String... values) {return this.getJedis().lpush(key, values);}/** * 把所有数据添加到一个列表中,并且设置列表的存活时间 *  * @param key *            列表名 * @param values *            数据 * @param liveTime *            存活时间--单位(秒) * @return */public long lpush(String key, String[] values, int liveTime) {long result = this.getJedis().lpush(key, values);this.getJedis().expire(key, liveTime);return result;}/** * 删除列表中对应值的元素 *  * @param key *            列表名 * @param count *            删除多少个相同的元素 * @param value *            数据 * @return */public long lrem(String key, long count, String value) {return this.getJedis().lrem(key, count, value);}/** * 返回指定列表范围内的元素 *  * @param key *            列表名 * @param start *            开始位置 * @param end *            结束位置 * @return */public List lrange(String key, long start, long end) {return this.getJedis().lrange(key, start, end);}/** * 通过key删除(字节) *  * @param key */public void del(byte[] key) {this.getJedis().del(key);}/** * 通过key删除 *  * @param key */public void del(String key) {this.getJedis().del(key);}/** * 添加key value 并且设置存活时间(byte) *  * @param key * @param value * @param liveTime *             单位(秒) */public void set(byte[] key, byte[] value, int liveTime) {this.set(key, value);this.getJedis().expire(key, liveTime);}/** * 添加key value 并且设置存活时间 *  * @param key * @param value * @param liveTime *             单位(秒) */public void set(String key, String value, int liveTime) {this.set(key, value);this.getJedis().expire(key, liveTime);}/** * 添加key value *  * @param key * @param value */public void set(String key, String value) {this.getJedis().set(key, value);}/** * 添加key value (字节)(序列化) *  * @param key * @param value */public void set(byte[] key, byte[] value) {this.getJedis().set(key, value);}/** * 获取redis value (String) *  * @param key * @return */public String get(String key) {String value = this.getJedis().get(key);return value;}/** * 获取redis value (byte [] )(反序列化) *  * @param key * @return */public byte[] get(byte[] key) {return this.getJedis().get(key);}/** * 通过正则匹配keys *  * @param pattern * @return */public Setkeys(String pattern) {return this.getJedis().keys(pattern);}/** * 检查key是否已经存在 *  * @param key * @return 存在返回true */public boolean exists(String key) {return this.getJedis().exists(key);}/** * 清空redis 所有数据 *  * @return */public String flushDB() {return this.getJedis().flushDB();}/** * 查看redis里有多少数据 */public long dbSize() {return this.getJedis().dbSize();}/** * 检查是否连接成功 *  * @return */public String ping() {return this.getJedis().ping();}/** * 通过多个key一次返回多个值 *  * @param keys */public Listmget(String... keys) {return this.getJedis().mget(keys);}/** * 一次添加多个key value到redis中 *  * @param keysvalues */public void mset(String... keysvalues) {this.getJedis().mset(keysvalues);}/** * 获取一个jedis 客户端 *  * @return */private Jedis getJedis() {if (jedis == null) {return jedisConnectionFactory.getShardInfo().createResource();}return jedis;}private RedisService() {}// 操作redis客户端private static Jedis jedis;@Autowiredprivate JedisConnectionFactory jedisConnectionFactory;}

?把这个类复盖上篇文章的类,就可以直接使用...

?

大家多多交流

?

本文章来自:http://blog.mkfree.com/posts/5147c478975a24f6a830e53d

?

http://blog.mkfree.com/posts/5147c478975a24f6a830e53d

热点排行