文章目录
世态炎凉,世界并不善良
7、Jedis测试
7.1 Jedis所需要的jar包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
7.2 连接Redis注意事项
- redis.conf中注释掉bind 127.0.0.1 (不注释掉只能本机访问)
- 然后将保护模式改成 protected-mode no,默认是yes,只允许本机访问,改完后重启redis。
- 禁用Linux的防火墙:Linux(CentOS7)里执行命令
查看防火墙状态:systemctl status firewalld.service
关闭防火墙:systemctl stop firewalld.service
# 查看防火墙状态
[root@centos7-101 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 六 2022-12-03 17:37:13 CST; 11s ago
Docs: man:firewalld(1)
Main PID: 25342 (firewalld)
Tasks: 2
CGroup: /system.slice/firewalld.service
└─25342 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...me.
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...me.
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
Hint: Some lines were ellipsized, use -l to show in full.
# 关闭防火墙
[root@centos7-101 ~]# systemctl stop firewalld.service
[root@centos7-101 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 六 2022-12-03 17:38:21 CST; 12s ago
Docs: man:firewalld(1)
Process: 25342 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 25342 (code=exited, status=0/SUCCESS)
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...me.
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...me.
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:37:14 centos7-101 firewalld[25342]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10...?).
12月 03 17:38:20 centos7-101 systemd[1]: Stopping firewalld - dynamic firewall daemon...
12月 03 17:38:21 centos7-101 systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
7.3 Jedis常用操作
7.3.1 创建动态的工程
7.3.2 创建测试程序
package pers.tianyu.jedis;
import redis.clients.jedis.Jedis;
public class JedisDemo1 {
public static void main(String[] args) {
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101",6379);
String ping = jedis.ping();
System.out.println(ping);
jedis.close();
}
}
7.4 测试相关数据类型
7.4.1 Jedis-API:Key
// key
@Test
public void demo01() {
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101", 6379);
// 添加键值对
jedis.set("k1", "v1");
jedis.set("k2", "v2");
jedis.set("k3", "v3");
Set<String> keys = jedis.keys("*");
// 集合数量
System.out.println(keys.size());
for (String key : keys) {
System.out.println(key);
}
// 判断某个key是否存在
System.out.println(jedis.exists("k1"));
// 查看还有多少秒过期,-1表示永不过期,-2表示已过期
System.out.println(jedis.ttl("k1"));
// 查询对应键值
System.out.println(jedis.get("k1"));
// 关闭
jedis.close();
}
7.4.2 Jedis-API:String
// string
@Test
public void demo02() {
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101", 6379);
// 添加多个键值对
jedis.mset("str1", "v1", "str2", "v2", "str3", "v3");
// 获取多个值
List<String> mget = jedis.mget("str1", "str2", "str3");
System.out.println(mget);
}
7.4.3 Jedis-API:List
// list
@Test
public void demo03() {
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101", 6379);
//添加键值对
jedis.lpush("code", "a", "b", "c", "d", "e");
//获取list集合全部值
List<String> code = jedis.lrange("code", 0, -1);
//循环遍历
for (String element : code) {
System.out.println(element);
}
//关闭
jedis.close();
}
7.4.4 Jedis-API:set
// set
@Test
public void demo04(){
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101", 6379);
//添加键值对
jedis.sadd("mysql","a");
jedis.sadd("mysql","b");
jedis.sadd("mysql","c");
jedis.sadd("mysql","d");
jedis.sadd("mysql","e");
// 取出该集合的所有值
Set<String> mysql = jedis.smembers("mysql");
for (String str:mysql) {
System.out.println(str);
}
// 删除集合中的某个元素
jedis.srem("mysql","a");
}
7.4.5 Jedis-API:hash
// hash
@Test
public void demo05() {
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101", 6379);
// 添加键值对
jedis.hset("user", "name", "lisi");
// 创建一个hashmap
HashMap<String, String> map = new HashMap<>();
map.put("telphone", "13100002222");
map.put("address", "har");
map.put("email", "abc@163.com");
// 将map添加
jedis.hset("user", map);
// 获取key中的多个字段值
List<String> hmget = jedis.hmget("user", "name", "telphone", "address", "email");
for (String element : hmget) {
System.out.println(element);
}
// 关闭
jedis.close();
}
7.4.6 Jedis-API:zset
// zset
@Test
public void demo06() {
// 创建一个jedis对象
Jedis jedis = new Jedis("192.168.0.101", 6379);
// 添加键值对
jedis.zadd("china", 100d, "beijing");
jedis.zadd("china", 200d, "shanghai");
jedis.zadd("china", 300d, "guangzhou");
jedis.zadd("china", 400d, "shenzhen");
Set<String> china = jedis.zrange("china", 0, -1);
for (String city : china) {
System.out.println(city);
}
// 关闭
jedis.close();
}