Java使用Redis及其优化详解
短信预约 -IT技能 免费直播动态提醒
前言
所有坚韧不拔的努力迟早会取得报酬的。—— 安格尔
开启远程连接
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
//做一些操作
});
}
}
到此这篇关于Java使用Redis及其优化详解的文章就介绍到这了,更多相关Java使用Redis优化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341