Java使用Redis优化
Java Gosling 人气:0前言
所有坚韧不拔的努力迟早会取得报酬的。—— 安格尔
开启远程连接
Redis默认是不支持远程连接的,这里需要手动开启远程连接。
关闭本机IP绑定,允许远程连接。找到redis.conf中的bind:127.0.0.1
将其注释。
开启密码校验。找到redis.conf中的requirepass
去掉其注释并设置密码。
Jedis连接Redis
创建一个Maven项目,导入Jedis依赖。
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <type>jar</type> <scope>compile</scope> </dependency>
测试链接是否成功。
public static void main(String[] args) { //创建Jedis对象 如果使用的是默认端口 则可忽略 (本次使用的是Docker创建的Redis) Jedis jedis = new Jedis("127.0.0.1", 6379); //密码认证 jedis.auth("123456"); //测试连接 String res = jedis.ping(); //输出PONG表示连接成功 抛出异常则失败 System.out.println(res); }
使用Redis中写入一些值。不熟悉基本操作的可以查看Redis基本操作。
//获取值 System.out.println(jedis.get("name")); //写入值 String result = jedis.set("gender", "male"); System.out.println(result);
紧接着再去redis中查看刚才写入的gender
。
Jedis中提供的方法和Redis的命令基本上是一样的,所以这里的操作就不做过多的赘述了。
封装Jedis进行操作
Jedis对象不是线城安全的,所以在实际开发中,一般我们都是通过连接池来获取,使用完成后再还给连接池。
public interface JedisCall { void call(Jedis jedis); }
public class RedisDemo { private JedisPool jedisPool; public RedisDemo(){ GenericObjectPoolConfig config = new GenericObjectPoolConfig(); //设置连接池最大空闲数 config.setMaxIdle(100); //最大连接数 config.setMaxTotal(300); //设置最大等待时间 -1表示无限制 config.setMaxWaitMillis(30000); //开启空闲时间检查有效性 config.setTestOnBorrow(true); //连接redis jedisPool = new JedisPool(config, "127.0.0.1", 6379, 30000); } public void execute(JedisCall jedisCall) { //try resource try (Jedis jedis = jedisPool.getResource()) { jedisCall.call(jedis); } } }
public class JedisTest { public static void main(String[] args) { RedisDemo redisDemo = new RedisDemo(); redisDemo.execute(jedis -> { //TODO //做一些操作 }); } }
加载全部内容