使用java连接redis
【摘要】 前言本文介绍如何使用java 连接redis。使用 jedis。准备工作新建一个java gradle项目;build.gradle内容如下;plugins { id 'java' id 'io.spring.dependency-management' version '1.0.1.RELEASE'}group 'org.nick'version '1.0-SNAPSHOT's...
前言
本文介绍如何使用java 连接redis。使用 jedis。
准备工作
新建一个java gradle项目;build.gradle内容如下;
plugins { id 'java' id 'io.spring.dependency-management' version '1.0.1.RELEASE' } group 'org.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' // compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0' compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3' //日志依赖 compile group: 'redis.clients', name: 'jedis', version: '2.9.0' //jedis依赖 }
简单测试
如下新建了一个jedis连接,并写入一个字符串。
public class RedisBasic { private static Logger logger = LoggerFactory.getLogger(RedisBasic.class); public static void main(String[] args) { logger.info("start test.{}", args.length); Jedis jedis = new Jedis("192.168.1.222", 6379); jedis.set("name", "nick"); String value = jedis.get("name"); logger.info("get name:{}", value); jedis.close(); } }
JedisPool的使用
如下配置新建了要给JedisPool连接池,并做了一系列读写操作。
public class RedisPool { private static Logger logger = LoggerFactory.getLogger(RedisPool.class); JedisPool pool ; private void init(){ pool = new JedisPool(); JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); // 设置最大10个连接 jedisPoolConfig.setMaxTotal(500); jedisPoolConfig.setMaxIdle(500); jedisPoolConfig.setMinIdle(30); jedisPoolConfig.setMaxWaitMillis(1000*60); pool = new JedisPool(jedisPoolConfig, "192.168.1.222",6379); logger.info("init connection success. "); } public void testPing(){ // Jedis 实现了java.lang.AutoCloseable接口,所以这里可以用java 1.7 try-with-resources语法自动完成close try(Jedis jedis = pool.getResource()){ //查看服务是否运行 PING logger.info("try ping: {}",jedis.ping()); } } public void testString(){ try(Jedis jedis = pool.getResource()){ jedis.set("test_name", "thiis is a 字符"); logger.info("redis test_name:{} ", jedis.get("test_name")); } } public void testList() { try (Jedis jedis = pool.getResource()) { // 选择数据库: SELECT 2 jedis.select(2); // 存储数据到列表中 // LPUSH jedis.lpush("class_list", "语文"); jedis.lpush("class_list", "english"); // 获取存储的数据并输出: LRANGE phone_list 0 2 List<String> list = jedis.lrange("class_list", 0, 1); for (int i = 0; i < list.size(); i++) { logger.info("class_list:{} " , list.get(i)); } } } public void close(){ if(null != pool){ pool.destroy(); logger.info("destroy the pool"); } } public static void main(String[] args) { RedisPool redisPool = new RedisPool(); redisPool.init(); redisPool.testPing(); redisPool.testString(); redisPool.testList(); redisPool.close(); } }
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)