无脑下一步就行,注意java版本和自己的一致,我的是8版本
3.首先操作redis数据库,设置端口和地址是必做redis.clients jedis 2.9.0 junit junit 4.12 test org.testng testng 6.14.3 org.junit.jupiter junit-jupiter-api 5.8.2 org.apache.maven.plugins maven-compiler-plugin 3.0 1.8 1.8 UTF-8
在application.yml中配置redis的host和port
spring:
redis:
host: 127.0.0.1
port: 6379
4.创建一个测试类,操作redis
public class apiTest {
JedisPool jedisPool;
//1.首先创建连接
@BeforeTest
public void beforeTest() {
//创建jedis连接池
JedisPoolConfig config = new JedisPoolConfig();
//最大空闲连接
config.setMaxIdle(10);
//最小空闲连接
config.setMinIdle(5);
//最大空闲时间
config.setMaxWaitMillis(3000);
//最大连接数
config.setMaxTotal(50);
jedisPool = new JedisPool(config, "127.0.0.1", 6379);
}
@Test
public void testKeys() {
//从池子里拿一个连接
Jedis jedis = jedisPool.getResource();
//操作
Set keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
//关闭jedis连接
jedis.close();
}
//2.关闭连接
@AfterTest
public void closeConnection() {
jedisPool.close();
}
@Test
public void test1() {
Jedis jedis = jedisPool.getResource();
//添加一个string类型数据,key为pv,用于保存pv的值,初始值为0
String pv = jedis.set("pv", "0");
//查询数据用get
String resultPv = jedis.get("pv");
//修改pv为1000
jedis.set("pv", "1000");
//实现整形数据原子自增操作 +1
Long pv1 = jedis.incr("pv");
System.out.println(pv1);
//实现整形该数据原子自增操作 +1000
Long pv2 = jedis.incrBy("pv", 1000);
System.out.println(pv2);
}
@Test
public void test2(){
//从连接池中获取一个连接
Jedis jedis = jedisPool.getResource();
// 往Hash结构中添加以下商品库存
//a) iphone11 => 10000
//b) macbookpro => 9000
jedis.hset("goods","iphone13plus","1000");
jedis.hset("goods","macbookpro","1000");
// 获取Hash中所有的商品
Set goods = jedis.hkeys("goods");
for (String good : goods) {
System.out.println(good);
}
// // 新增3000个macbookpro库存
// String hget = jedis.hget("goods", "macbookpro");
// //将string转成int类型增加3000
// int stock=Integer.parseInt(hget)+3000;
// jedis.hset("goods","macbookpro",stock+"");
jedis.hincrBy("goods","macbookpro",3000);
String hget = jedis.hget("goods", "macbookpro");
System.out.println(hget);
// 删除整个Hash的数据
jedis.del("goods");
//关闭jedis连接
jedis.close();
}
@Test
public void testList(){
Jedis jedis = jedisPool.getResource();
//向list的左边插入以下三个手机号码:18511310002、18912301233、18123123314
jedis.lpush("phoneNumber","18511310002","18912301233","18123123314");
//从右边移除一个手机号码
String phoneNumber = jedis.rpop("phoneNumber");
System.out.println(phoneNumber);
//获取list所有的值
List list = jedis.lrange("phoneNumber", 0, -1);
for (String s : list) {
System.out.println(s);
}
//关闭jedis连接
jedis.close();
}
@Test
public void testSet(){
Jedis jedis = jedisPool.getResource();
// 使用set来保存uv值,为了方便计算,将用户名保存到uv中。
// 往一个set中添加页面 page1 的uv,用户user1访问一次该页面
jedis.sadd("uv","user1");
// user2访问一次该页面
jedis.sadd("uv","user2");
//user1再次访问一次该页面
jedis.sadd("uv","user1");
//最后获取 page1的uv值
Long uv = jedis.scard("uv");
System.out.println(uv);
//关闭jedis
jedis.close();
}
@Test
public void Test3(){
Jedis jedis = jedisPool.getResource();
Long pfadd1 = jedis.pfadd("luokea1", "4", "2", "3");
Long pfadd2 = jedis.pfadd("luokea2", "9", "2", "8");
//将2个合并为一个
String pfmerge = jedis.pfmerge("demo", "pfadd1", "pfadd2");
System.out.println(jedis.pfcount("pfmerge"));
System.out.println(pfmerge);
// System.out.println(pfadd);
// long luokea = jedis.pfcount("luokea");
// System.out.println(luokea);
}
}



