Spring aware接口的作用是什么
259
2022-09-10
Java使用Redis及其优化详解
目录前言开启远程连接Jedis连接Redis封装Jedis进行操作
前言
所有坚韧不拔的努力迟早会取得报酬的。—— 安格尔
开启远程连接
Redis默认是不支持远程连接的,这里需要手动开启远程连接。
关闭本机IP绑定,允许远程连接。找到redis.conf中的bind:127.0.0.1将其注释。
开启密码校验。找到redis.conf中的requirepass去掉其注释并设置密码。
Jedis连接Redis
创建一个Maven项目,导入Jedis依赖。
测试链接是否成功。
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.setTestOnBorrohttp://w(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 http://RedisDemo();
redisDemo.execute(jedis -> {
//TODO
//做一些操作
});
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~