Redis maven项目 jedis 客户端操作(一)
一、配置
首先是在云服务器上部署Redis服务器,但是出于对安全性的考虑,我们不能够轻易的打开6379的默认端口。那我们要怎样从本机来访问到云端的服务器呢?注意到,我们可以利用ssh协议进行端口转发,和端口映射,通过设置一个本机的端口,来映射到云端服务器,然后进行操作。
我这边以Xshell终端为例,首先cd /etc/redis,然后输入ll 查看文件夹,找到redis.conf,
输入vim redis.conf,进入配置文件内进行修改,将bind改为0.0.0.0,将保护模式改为no,编辑完后保存并退出。
接着我们来配置Xshell终端的ssh协议:
右键云服务器连接的属性,点击ssh下的隧道配置,然后将侦听端口改为本机的自定义闲置端口,目标端口改为Redis默认端口6379,点击确定,然后重新连接。
我们可以在本地控制台进行检验设置是否生效,win+r,输入cmd,然后输入netstat -ano | findstr 8888,进行检验是否设置OK。
二、导入依赖
我们首先去创建一个java的maven项目,然后去maven仓库的网站(点这->maven)搜索jedis。
复制红框部分,粘贴到项目的pom文件中,然后创建JedisPool池对象,输入url,就可以开始进行相关代码的编写了
三、jedis方法调用样例
代码如下:
(1)get,set,expire,ttl,type命令对应的方法调用:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.util.Set;
public class RedisDemoGeneric {
public static void test1(Jedis jedis){
System.out.println("get set");
jedis.flushAll();
jedis.set("key", "111");
jedis.set("key2", "222");
jedis.set("key3", "333");
jedis.set("key4", "444");
// boolean result = jedis.exists("key");
// long result2 = jedis.del("key");
// boolean result3 = jedis.exists("key");
// System.out.println(result+" "+result2+" "+result3);
// long result4 = jedis.del("key","key2","key3","key4");
// boolean result2 = jedis.exists("key2");
// System.out.println(result+" "+result2+" "+result4);
Set<String> keys=jedis.keys("*");
System.out.println(keys);
}
public static void test2(Jedis jedis) {
System.out.println("expire ttl");
jedis.flushAll();
jedis.set("key", "111");
jedis.expire("key", 10);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
long time = jedis.ttl("key");
System.out.println(time);
}
public static void test3(Jedis jedis) {
System.out.println("type:");
jedis.flushAll();
jedis.set("key", "111");
String type=jedis.type("key");
System.out.println(type);
jedis.lpush("key1", "111", "222", "333", "444");
String type1=jedis.type("key1");
System.out.println(type1);
jedis.hset("key2", "f1", "111");
String type2=jedis.type("key2");
System.out.println(type2);
jedis.sadd("key3","111","222","kzf");
String type3=jedis.type("key3");
System.out.println(type3);
jedis.zadd("key4",10,"kzf");
String type4=jedis.type("key4");
System.out.println(type4);
}
public static void main(String[] args) {
JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");
try (Jedis jedis = jedisPool.getResource()) {
// String pong = jedis.ping();
// System.out.println(pong);
// test1(jedis);
// test2(jedis);
test3(jedis);
}
}
}
(2)String类型value的相关方法调用:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.util.List;
public class RedisDemoString {
public static void test1(Jedis jedis) {
System.out.println("mget 和 mset");
jedis.flushAll();
jedis.mset("key1", "111", "key2", "222","key3", "333");
List<String> values = jedis.mget("key1", "key2","key3");
System.out.println(values);
}
public static void test2(Jedis jedis) {
System.out.println("getrange 和 setrange");
jedis.flushAll();
jedis.set("key","abcdefghijklmn");;
String result = jedis.getrange("key",0,-1);
System.out.println(result);
jedis.setrange("key",3,"我的发");//redis中一个汉字三个字节
result = jedis.getrange("key",0,-1);
System.out.println(result);
}
public static void test3(Jedis jedis) {
System.out.println("append:");
jedis.flushAll();
jedis.set("key","kzf");
jedis.append("key"," love whx");
String value= jedis.get("key");
System.out.println(value);
}
public static void test4(Jedis jedis) {
System.out.println("incr 和 decr");
jedis.flushAll();
jedis.set("key","222");
System.out.println(jedis.get("key"));
long result=jedis.incr("key");
System.out.println(result);
result = jedis.decr("key");
System.out.println(result);
}
public static void main(String[] args) {
JedisPool jedisPool = new JedisPool("127.0.0.1", 8888);
try (Jedis jedis = jedisPool.getResource()) {
test4(jedis);
}
}
}
四、PS
剩余的redis的value的常见类型的jedis方法调用将在(二)篇中详细描述,感谢你读到这里,希望对你有所帮助!!!