大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说java操作redis_redis java,希望您对编程的造诣更进一步.
一、 使用Java操作Redis前,请先运行Redis服务与下载Redis驱动,以maven工程为例,引入如下jar
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
代码100分
创建测试类,验证是否成功连接
代码100分public static void main(String[] args) { //设置IP与端口,连接 Redis 服务 Jedis jedis = new Jedis("127.0.0.1",6379); //设置 密码 jedis.auth("1D9JJ9JIJ0003E4710AC0000596F1A72"); //查看服务是否运行,打出pong表示OK System.out.println("connection is OK==========>: "+jedis.ping()); String name = jedis.get("admin"); System.out.println("姓名:" + name); String noticeVal = jedis.hget("notice", "admin"); System.out.println("通知结果:" + noticeVal); }
执行成功,结果如下
connection is OK==========>: PONG 姓名:null 通知结果:0
二、连接池管理Redis连接,引入redis.properties配置文件
代码100分# Redis settings # 最大闲置数 redis.maxIdle=30 # 最小闲置数 redis.minIdle=10 # 最大连接数 redis.maxTotal=100 # redis服务器的IP地址 redis.url=127.0.0.1 # redis端口 redis.port=6379 # redis密码 redis.password=1D9JJ9JIJ0003E4710AC0000596F1A72 # 超时时间 redis.timeout=2000
编写工具类RedisUtil
package com.util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** * RedisUtil工具类 * * @author Administrator * */ public final class RedisUtil { private static final Log logger = LogFactory.getLog(RedisUtil.class); private static JedisPool jedisPool = null; /** * 初始化Redis连接池 */ static { try { // 加载配置文件 InputStream in = RedisUtil.class.getClassLoader().getResourceAsStream("redis.properties"); Properties pro = new Properties(); try { pro.load(in); } catch (IOException e) { e.printStackTrace(); } // 获得池子对象 JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.maxIdle") .toString()));// 最大闲置个数 poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.minIdle") .toString()));// 最小闲置个数 poolConfig.setMaxTotal(Integer.parseInt(pro.get("redis.maxTotal") .toString()));// 最大连接数 jedisPool = new JedisPool(poolConfig, pro.getProperty("redis.url"), Integer.parseInt(pro.getProperty("redis.port")), Integer.parseInt(pro.getProperty("redis.timeout")), pro.getProperty("redis.password")); } catch (Exception e) { logger.error("异常错误", e); } } /** * 获取Jedis实例 * * @return */ public synchronized static Jedis getJedis() { try { if (jedisPool != null) { Jedis resource = jedisPool.getResource(); return resource; } else { return null; } } catch (Exception e) { e.printStackTrace(); return null; } } /** * 释放jedis资源 * * @param jedis */ public static void returnResource(final Jedis jedis) { if (jedis != null) { jedis.close(); } } }
测试
public static void main(String[] args) { Jedis jedis = RedisUtil.getJedis(); String result = jedis.set("admin", "管理员"); System.out.println("结果:" + result); //释放资源 RedisUtil.returnResource(jedis); }
结果:OK
使用RedisDesktopManager可视化工具查看
其他数据类型如hash(哈希)、list(列表)、set(集合)及zset(有序集合)的增删改查操作和redis原生指令大同小异,抽取为通用工具类。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9958.html