Java程序操作Redis(二)
来源:互联网 发布:钢结构厂房起脊算法 编辑:程序博客网 时间:2024/05/29 06:43
1 部署Redis环境,可参考
http://blog.itpub.net/29485627/viewspace-2139764/
2 建立Java Project,并添加commons-pool2-2.2,jedis-2.7.3, log4j-1.2.16, log4j-api-2.7.jar, log4j-core-2.7五个包。
3 在sr/com/zheng下建立RedisUti.java,内容为
package com.zheng;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public final class RedisUtil { private static Logger logger = LogManager.getLogger(RedisUtil.class); private static String ADDR = "192.168.121.210"; private static int PORT = 6379; private static String AUTH = null; private static int MAX_ACTIVE = 300; private static int MAX_IDLE = 200; private static int MAX_WAIT = 10000; private static int TIMEOUT = 10000; private static boolean TEST_ON_BORROW = true; private static JedisPool jedisPool = null; private static Jedis jedis = null; static { try { init(); } catch (Exception e) { logger.error("初始化Redis出错," + e); } } private synchronized static void init() { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxIdle(MAX_IDLE); config.setMaxWaitMillis(MAX_WAIT); config.setTestOnBorrow(TEST_ON_BORROW); config.setMaxTotal(MAX_ACTIVE); jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH); } static Jedis getJedis() { try { if (jedisPool != null) { jedis = jedisPool.getResource(); } else { init(); jedis = jedisPool.getResource(); } } catch (Exception e) { logger.error("获取Redis实例出错," + e); } return jedis; } public static String set(String key, String value) { return set(key, value, null); } public static String set(String key, String value, Integer timeout) { String result = null; Jedis jedis = RedisUtil.getJedis(); if (jedis == null) { return result; } try { result = jedis.set(key, value); if (null != timeout) { jedis.expire(key, timeout); } } catch (Exception e) { logger.error(e.getMessage(), e); } finally { if (null != jedis) { jedis.close(); } } return result; } public static String get(String key) { String result = null; Jedis jedis = RedisUtil.getJedis(); if (jedis == null) { return result; } try { result = jedis.get(key); } catch (Exception e) { logger.error(e.getMessage(), e); } finally { if (null != jedis) { jedis.close(); } } return result; } public static boolean del(String key) { Boolean result = Boolean.FALSE; Jedis jedis = RedisUtil.getJedis(); if (null == jedis) { return Boolean.FALSE; } try { jedis.del(key); } catch (Exception e) { logger.error("Error occured when delete, " + e); } finally { if (null != jedis) { jedis.close(); } } return result; } public static Long append(String key, String value) { Long result = Long.valueOf(0); Jedis jedis = RedisUtil.getJedis(); if (null == jedis) { return result; } try { result = jedis.append(key, value); } catch (Exception e) { logger.error("追加redis数据出错," + e); } finally { if (null != jedis) { jedis.close(); } } return result; } public static Boolean exists(String key) { Boolean result = Boolean.FALSE; Jedis jedis = RedisUtil.getJedis(); if (null == jedis) { return result; } try { result = jedis.exists(key); } catch (Exception e) { logger.error("Error when examine, " + e); } finally { if (null != jedis) { jedis.close(); } } return result; }}
4 在src/com/zheng/下建立RedisTest.java,内容为
package com.zheng;import com.zheng.RedisUtil;public class RedisTest {public static void main(String[] args) {RedisUtil.getJedis().set("name", "Zheng");System.out.println(RedisUtil.getJedis().get("name"));}}
5 在src下建立log4j2.xml,内容为
<?xml version="1.0" encoding="UTF-8"?><Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Logger name="com.demo.NamedHierarchy" level="trace"> <AppenderRef ref="Console"/></Logger><Logger name="com.demo" level="debug"> <AppenderRef ref="Console"/></Logger> <Root level="error"> <AppenderRef ref="Console"/> </Root> </Loggers></Configuration>
6 运行RedisTest.java,结果为
7 代码下载地址为
https://github.com/zhenghaishu/RedisUtil
阅读全文
0 0
- Java程序操作Redis(二)
- Java程序操作Redis
- 使用Java操作Redis(二)
- java操作redis(二):存取对象操作
- java 操作Redis string 命令 实例(Jedis) (二)
- redis的java客户端jedis(二)jedis基本操作
- java操作redis数据库二:list集合
- NoSQL之Redis(二)---Java操作Redis存储自定义类型数据
- redis【java操作redis】
- Java使用Redis(二)
- Redis的基础操作命令(二)
- Python操作redis(二)hash类型
- Redis字符串类型的操作(二)
- redis学习笔记二(常规操作)
- Redis指令操作二
- redis学习 基础篇(二) php操作redis
- java操作redis集群(基本操作)
- Java Jedis操作Redis示例(二)——list 生产者/消费者模式实现消息队列
- 5月项目经验和技术点文章总结
- VS2010整合NUnit进行单元测试
- JavaWeb开发知识总结(Listener)
- Python练习题 9-4就餐人数
- 单例模式--锁优化
- Java程序操作Redis(二)
- 白话经典算法系列之三 希尔排序的实现
- JavaWeb开发知识总结(filter)
- python中的高级数据结构
- 比特币应用开发指南
- PAT1006 Sign In and Sign Out
- 人家的第一次
- Python:合并两个numpy矩阵
- 比较对象值