文章目录
Linux上安装Redis
Redis概述
Jedis操作Redis的环境准备
1、新建Maven工程
2、在Pom.xml文件中引入Jedis坐标
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.2</version>
</dependency>
</dependencies>
3、创建一个类。
创建Jedis对象,调用ping方法测试是否连接完成
/**
* @author HUANGXUAN
* @description: TODO
* @date 2021/7/16 18:15
*/
public class JedisDemo1 {
public static void main(String[] args) {
// 创建jedis对象
Jedis jedis = new Jedis("ip地址",6379);
// 测试
String message = jedis.ping();
System.out.println(message);
}
}
输出结果 PONG表示测试成功
连接失败怎么办?
如果显示连接失败,则需要干以下3步 (前提是云服务器防火墙已经开放6379端口)
1:在linux系统中,找到redis的配置文件:redis.conf。
(手动安装默认在/usr/local/bin下,宝塔安装默认在/www/server/redis下)
2:使用vim编辑器,修改其中的配置
(1)注释掉 bind
(2)设置protected-mode为no
(3)设置允许远程连接
3、关闭redis,再重新启动:
JedisAPI
OK!连接成功,下面开始测试
引入单元测试坐标
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
get set
一、加入数据到Redis中
// 编写代码 在Redis中所有的操作,都可以在Jedis中进行
@Test
public void demo1(){
// 创建jedis对象
Jedis jedis = new Jedis("xx.xx.xxx.xxx",6379);
jedis.set("k1", "1111");
jedis.set("k2", "dadsa");
jedis.set("k3", "666");
System.out.println(jedis.get("k1"));
System.out.println(jedis.get("k2"));
System.out.println(jedis.get("k3"));
}
结果:
二、查看所有的key值
@Test
public void demo2(){
// 创建jedis对象
Jedis jedis = new Jedis("xx.xx.xxx.xxx",6379);
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
}
输出结果:
String
@Test
public void demo3(){
// 字符串API
Jedis jedis = new Jedis("xx.xx.xxx.xxx",6379);
// 设置多个key-value
jedis.mset("k1","v1","k2","v2","k3","v3");
// 获取多个
System.out.println(jedis.mget("k1", "k2", "k3"));
}
输出结果:
List
@Test
public void demo4(){
// List的API
Jedis jedis = new Jedis("xx.xx.xxx.xxx",6379);
// 添加List类型的key-value
jedis.lpush("k4","v1","v2","v3");
// 获取List
List<String> list = jedis.lrange("k4", 0, -1);
System.out.println(list);
}
输出结果:
set
@Test
public void demo5(){
// Set的API
Jedis jedis = new Jedis("xxx.xx.x.xx",6379);
// 添加set类型的key-value
jedis.sadd("k5","lucy","Tom","Tom");
// 这里故意添加两次Tom——以验证set类型是排重的
// 获取set
System.out.println(jedis.smembers("k5"));
}
结果:
hash
@Test
public void demo6(){
// hash的API
Jedis jedis = new Jedis("xx.xx.xxx.xxx",6379);
// 添加hash类型的key-value
jedis.hsetnx("k6","name","Tom");
jedis.hsetnx("k6","age","22");
jedis.hsetnx("k6","address","beijing");
// 获取hash
System.out.println(jedis.hgetAll("k6"));
}
输出结果:
Zset
@Test
public void demo7(){
// Zset的API
Jedis jedis = new Jedis("xx.xx.xxx.xxx",6379);
// 添加Zset类型的key-value
jedis.zadd("k7",88,"Tom");
jedis.zadd("k7",99,"jack");
jedis.zadd("k7",85,"lucy");
// 获取Zset
System.out.println(jedis.zrange("k7",0,-1));
}
输出结果:
五大数据类型的基本操作命令
key
string
List
set
hash
Zset
Redis6 新增数据类型的基本操作
Bitmaps
HyperLogLog
Geospatial