redis实现消息队列 java_项目实例(一)Java利用Redis实现消息队列

packageUtils;importredis.clients.jedis.Jedis;importredis.clients.jedis.JedisPool;importredis.clients.jedis.JedisPoolConfig;importjava.util.List;importjava.util.Map;importjava.util.Set;/*** Created by Kinglf on 2016/10/17.*/

public classJedisUtil {private staticString JEDIS_IP;private static intJEDIS_PORT;private staticString JEDIS_PASSWORD;private staticJedisPool jedisPool;static{//Configuration自行写的配置文件解析类,继承自Properties

Configuration conf=Configuration.getInstance();

JEDIS_IP=conf.getString("jedis.ip","127.0.0.1");

JEDIS_PORT=conf.getInt("jedis.port",6379);

JEDIS_PASSWORD=conf.getString("jedis.password",null);

JedisPoolConfig config=newJedisPoolConfig();

config.setMaxActive(5000);

config.setMaxIdle(256);

config.setMaxWait(5000L);

config.setTestOnBorrow(true);

config.setTestOnReturn(true);

config.setTestWhileIdle(true);

config.setMinEvictableIdleTimeMillis(60000L);

config.setTimeBetweenEvictionRunsMillis(3000L);

config.setNumTestsPerEvictionRun(-1);

jedisPool=new JedisPool(config,JEDIS_IP,JEDIS_PORT,60000);

}/*** 获取数据

*@paramkey

*@return

*/

public staticString get(String key){

String value=null;

Jedis jedis=null;try{

jedis=jedisPool.getResource();

value=jedis.get(key);

}catch(Exception e){

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{

close(jedis);

}returnvalue;

}private static voidclose(Jedis jedis) {try{

jedisPool.returnResource(jedis);

}catch(Exception e){if(jedis.isConnected()){

jedis.quit();

jedis.disconnect();

}

}

}public static byte[] get(byte[] key){byte[] value = null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

value=jedis.get(key);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnvalue;

}public static void set(byte[] key, byte[] value) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.set(key, value);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}public static void set(byte[] key, byte[] value, inttime) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.set(key, value);

jedis.expire(key, time);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}public static void hset(byte[] key, byte[] field, byte[] value) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.hset(key, field, value);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}public static voidhset(String key, String field, String value) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.hset(key, field, value);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}/*** 获取数据

*

*@paramkey

*@return

*/

public staticString hget(String key, String field) {

String value= null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

value=jedis.hget(key, field);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnvalue;

}/*** 获取数据

*

*@paramkey

*@return

*/

public static byte[] hget(byte[] key, byte[] field) {byte[] value = null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

value=jedis.hget(key, field);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnvalue;

}public static void hdel(byte[] key, byte[] field) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.hdel(key, field);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}/*** 存储REDIS队列 顺序存储

*@paramkey reids键名

*@paramvalue 键值*/

public static void lpush(byte[] key, byte[] value) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.lpush(key, value);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}/*** 存储REDIS队列 反向存储

*@paramkey reids键名

*@paramvalue 键值*/

public static void rpush(byte[] key, byte[] value) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.rpush(key, value);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}/*** 将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端

*@paramkey reids键名

*@paramdestination 键值*/

public static void rpoplpush(byte[] key, byte[] destination) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.rpoplpush(key, destination);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}/*** 获取队列数据

*@paramkey 键名

*@return

*/

public static List lpopList(byte[] key) {

List list= null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

list= jedis.lrange(key, 0, -1);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnlist;

}/*** 获取队列数据

*@paramkey 键名

*@return

*/

public static byte[] rpop(byte[] key) {byte[] bytes = null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

bytes=jedis.rpop(key);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnbytes;

}public static voidhmset(Object key, Map hash) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.hmset(key.toString(), hash);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}public static void hmset(Object key, Map hash, inttime) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.hmset(key.toString(), hash);

jedis.expire(key.toString(), time);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}public staticList hmget(Object key, String... fields) {

List result= null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

result=jedis.hmget(key.toString(), fields);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnresult;

}public staticSet hkeys(String key) {

Set result= null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

result=jedis.hkeys(key);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnresult;

}public static List lrange(byte[] key, int from, intto) {

List result= null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

result=jedis.lrange(key, from, to);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnresult;

}public static Map hgetAll(byte[] key) {

Map result= null;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

result=jedis.hgetAll(key);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnresult;

}public static void del(byte[] key) {

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.del(key);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}

}public static long llen(byte[] key) {long len = 0;

Jedis jedis= null;try{

jedis=jedisPool.getResource();

jedis.llen(key);

}catch(Exception e) {//释放redis对象

jedisPool.returnBrokenResource(jedis);

e.printStackTrace();

}finally{//返还到连接池

close(jedis);

}returnlen;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值