1、配置Redis远程访问(Linux操作)
注:windows如何连接在主页Redis快速上手篇内链接(Redis快速上手版-CSDN博客)
修改访问IP地址:如下图
#跳转到redis安装目录
cd /usr/local/redis-6.2.1
#修改redis.conf配置文件
vi redis.conf
#注释redis.conf第69行的配置项
#bind 127.0.0.1
设置登录密码
找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared #修改前
requirepass 123456 #修改后
重启redis服务
systemctl restart redis
配置防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
2、安装Redis桌面管理工具
Redis 桌面管理工具推荐开源的 AnotherRedisDesktopManager
AnotherRedisDesktopManager 下载地址: https://gitee.com/qishibo/AnotherRedisDesktopManager/releaseshttps://gitee.com/qishibo/AnotherRedisDesktopManager/releases?spm=a2c6h.13046898.publish-article.12.2cd76ffahTMgDv
输入对应的端口、地址、密码就可以连接
3、Java操作Redis(基于idea)
3.1、idea创建maven工程
基于idea创建maven-archetype-quickstart
工程。
3.2、配置相关依赖在pom.xml文件中配置依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.2</version>
</dependency>
3.3、案例演示
3.3.1、连接Redis
// 创建jedis对象,设置Redis服务器的IP地址和访问端口
Jedis jedis = new Jedis(ip, port);
// 设置访问密码
jedis.auth("123456");
// 测试是否连接成功
jedis.ping();
// 切换数据库
jedis.select(0);
3.3.2、String字符串操作
//1、String字符串操作
// jedis.set("id","1");
// jedis.set("name","zs");
// System.out.println(jedis.get("id"));
// System.out.println(jedis.get("name"));
//删除指定的key
// System.out.println(jedis.del("id"));
// //判断是否存在
// System.out.println(jedis.exists("id"));
//删除多个指定的key
// System.out.println(jedis.del("age", "id", "name"));
//设置key的超时时间
// jedis.set("name","lzx");
// System.out.println(jedis.expire("name", 10));
//计数器
// System.out.println(jedis.incr("name"));
// System.out.println(jedis.decr("name"));
3.3.3、Hash哈希
// 2、hash类型
//添加单个值
// System.out.println(jedis.hset("teacher", "name", "jjp"));
// System.out.println(jedis.hget("teacher", "name"));
//同Map集合添加多个
// Map<String,String> parms = new HashMap<>();
// parms.put("id","3");
// parms.put("age","22");
// System.out.println(jedis.hset("teacher", parms));
//查询数据
// Map<String, String> teacher = jedis.hgetAll("teacher");
// Set<Map.Entry<String, String>> entries = teacher.entrySet();
// for (Map.Entry<String, String> entry : entries) {
// System.out.println(entry);
// }
3.3.4、List列表
//3、list数据类型
// jedis.lpush("input1","zs","ls","ww");
// jedis.rpush("input1","zs","ls","ww");
// //获取有多少个元素
// Long size = jedis.llen("input1");
// //遍历内部值
// for (int i = 0; i < size ; i++) {
// System.out.println(jedis.rpop("input1"));
// }
3.3.5、Set集合
//4、set
// jedis.sadd("good","name","order","foot","name");
// //获取元素数量
// Long good = jedis.scard("good");
// System.out.println(good);
//获取值,进行遍历输出
// ScanResult<String> good1 = jedis.sscan("good", "0");
// List<String> result = good1.getResult();
// result.forEach(System.out::println);
3.3.6、zset集合
//5、zset
// jedis.zadd("zset",54d,"《一人之上》");
// jedis.zadd("zset",64d,"《万人之下》");
// jedis.zadd("zset",72d,"《西游记之猴王出世》");
ScanResult<Tuple> zset = jedis.zscan("zset", "0");
List<Tuple> result = zset.getResult();
// for (Tuple tuple : result) {
// System.out.println(tuple.getScore()+" /"+tuple.getElement());
// }
//反转排序
result.stream().sorted(Comparator.reverseOrder()).forEach(e->{
System.out.println(e.getScore()+" / "+e.getElement());
});