| |
2.连接Redis注意事项
(1)禁用Linux的防火墙:Linux执行:systemctl stop/disable firewalld.service
(2)redis.conf中注释掉bind 127.0.0.1 ,然后 protected-mode n
3.Jedis常用操作 3.1 创建测试程序| package com.atguigu.jedis; import redis.clients.jedis.Jedis; public class Demo01 { public static void main(String[] args) { Jedis jedis = new Jedis("192.168.211.131",6379); String pong = jedis.ping(); System.out.println("连接成功:"+pong); jedis.close(); } } |
Jedis-API: Key
| jedis.set("k1", "v1"); jedis.set("k2", "v2"); jedis.set("k3", "v3"); Set System.out.println(keys.size()); for (String key : keys) { System.out.println(key); } System.out.println(jedis.exists("k1")); System.out.println(jedis.ttl("k1")); System.out.println(jedis.get("k1")); |
Jedis-API: String
| jedis.mset("str1","v1","str2","v2","str3","v3"); System.out.println(jedis.mget("str1","str2","str3")); |
Jedis-API: List
| List for (String element : list) { System.out.println(element); } |
Jedis-API: set
| jedis.sadd("orders", "order01"); jedis.sadd("orders", "order02"); jedis.sadd("orders", "order03"); jedis.sadd("orders", "order04"); Set for (String order : smembers) { System.out.println(order); } jedis.srem("orders", "order02"); |
Jedis-API: hash
| jedis.hset("hash1","userName","lisi"); System.out.println(jedis.hget("hash1","userName")); Map map.put("telphone","13810169999"); map.put("address","atguigu"); map.put("email","abc@163.com"); jedis.hmset("hash2",map); List for (String element : result) { System.out.println(element); } |
Jedis-API: zset
| jedis.zadd("zset01", 100d, "z3"); jedis.zadd("zset01", 90d, "l4"); jedis.zadd("zset01", 80d, "w5"); jedis.zadd("zset01", 70d, "z6"); Set for (String e : zrange) { System.out.println(e); } |
package com.han.jedis;
import redis.clients.jedis.Jedis;
import java.util.Random;
public class PhoneCode {
public static void main(String[] args) {
//模拟验证码发送
verifyCode("13986895555");
//模拟验证码校验
//getRedisCode("13986895555","4444");
}
//3 验证码校验
public static void getRedisCode(String phone,String code) {
//从redis获取验证码
Jedis jedis = new Jedis("192.168.211.131",6379);
//验证码key
String codeKey = "VerifyCode"+phone+":code";
String redisCode = jedis.get(codeKey);
//判断
if(redisCode.equals(code)) {
System.out.println("成功");
}else {
System.out.println("失败");
}
jedis.close();
}
//2 每个手机每天只能发送三次,验证码放到redis中,设置过期时间120
public static void verifyCode(String phone) {
//连接redis
Jedis jedis = new Jedis("192.168.211.131",6379);
//拼接key
//手机发送次数key
String countKey = "VerifyCode"+phone+":count";
//验证码key
String codeKey = "VerifyCode"+phone+":code";
//每个手机每天只能发送三次
String count = jedis.get(countKey);
if(count == null) {
//没有发送次数,第一次发送
//设置发送次数是1
jedis.setex(countKey,24*60*60,"1");
} else if(Integer.parseInt(count)<=2) {
//发送次数+1
jedis.incr(countKey);
} else if(Integer.parseInt(count)>2) {
//发送三次,不能再发送
System.out.println("今天发送次数已经超过三次");
jedis.close();
}
//发送验证码放到redis里面
String vcode = getCode();
jedis.setex(codeKey,120,vcode);
jedis.close();
}
//1 生成6位数字验证码
public static String getCode() {
Random random = new Random();
String code = "";
for(int i=0;i<6;i++) {
int rand = random.nextInt(10);
code += rand;
}
return code;
}
}
5.Springboot整合redis
Spring Boot整合Redis非常简单,只需要按如下步骤整合即可
整合步骤
(1)在pom.xml文件中引入redis相关依赖
|
(2)application.properties配置redis配置
| #Redis服务器地址 |
(3)添加redis配置类
| @EnableCaching |
(4)测试一下
RedisTestController中添加测试方法
| @RestController
|



