使用Java代码操作Redis:
1. 可视化管理工具redis-desktop-manager安装与配置
1.1 双击redis-desktop-manager-2020.1.0.0.exe即可
redis-desktop-manager-2020.1.0.0
提取码:rrfw
1.2 配置远程登录
vim redis.conf #编辑redis.conf文件
命令模式下输入“/字符串”,例如:“/requirepass”,再按N键向下查找
1)修改访问IP地址,服务器IP(69)
#bind 127.0.0.1 #注释这一行
2)找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared #修改前
requirepass 123456 #修改后
3)配置redis的6379端口到防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
注意:需要重新启动redis:systemctl restart redis
2. Java访问redis
2.1 添加依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2.2 Java连接redis
package zom.xujie;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 许缘
* @company xxx公司
* @create 2022-11-08 20:05
*/
public class Demo {
public static void main(String[] args) {
//1.配置IP,端口
String host = "192.168.238.128";
int port = 6379;
//2.创建Jedis
Jedis jedis = new Jedis(host,port);
//3.设置访问密码
jedis.auth("123456");
//4.测试是否连接成功
String ping = jedis.ping();
System.out.println(ping);
//5.切换数据库
String select = jedis.select(3);
System.out.println(select);
//6.String字符串
// jedis.set("name","张三");
// String name = jedis.get("name");
// System.out.println(name);
// String name1 = jedis.type("name");
// System.out.println(name1);
// Boolean sex = jedis.exists("sex");
// System.out.println(sex);
// jedis.del("name");
// jedis.set("sex","男");
// jedis.expire("sex",15);
//2.Hash哈希:特别适用于存储对象
// jedis.hset("student","name","李四");
// Map<String,String> map = new HashMap<>();
// map.put("sex","女");
// map.put("age","17");
// jedis.hmset("student",map);
// String name = jedis.hget("student","name");
// System.out.println(name);
// Map<String,String> student = jedis.hgetAll("student");
// System.out.println(student);
//
// jedis.hdel("student","name","sex");
// Boolean hexists = jedis.hexists("student", "name");
// System.out.println(hexists);
//3.list列表
// jedis.lpush("names","zs","ls");
// //获取列表中指定key的长度
// Long names = jedis.llen("names");
// //循环
// //从左
// System.out.println(jedis.lpop("names"));
// //从右
// System.out.println(jedis.rpop("names"));
//4.Set
// jedis.sadd("names","zs","ls");
// ScanResult<String> names = jedis.sscan("names", 0);
// List<String> result = names.getResult();
// result.forEach(System.out::println);
//5.Zset
// jedis.zadd("course",100d,"语文");
//
// Map<String,Double> map = new HashMap<>();
// map.put("数学",60d);
// map.put("语文",90d);
//
// jedis.zadd("course",map);
ScanResult<Tuple> course = jedis.zscan("course", 0);
List<Tuple> result = course.getResult();
result.forEach(t->{
System.out.println(t.getElement()+"="+t.getScore());
});
result.stream().sorted(Comparator.reverseOrder()).forEach(t->{
System.out.println(t.getElement()+"="+t.getScore());
});
}
}