redis学习(三)之Jedis操作CRUD
使用Jedis进行测试
1.创建Maven项目
2.添加pom.xml文件
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
3.创建一个包com.lianxi.Jedis文件夹和创建一个JedisDemo01的java类
4.测试连接rerdis
/**
* 连接Redis
*/
@Test
public void initCount() {
// 创建Jedis对象,连接Redis服务器
Jedis jedis = new Jedis("127.0.0.1", 6379);
// 设置认证密码
// jedis.auth("root");
// 指定数据库
jedis.select(0);
// 使用ping命令,测试是否连接成功
String result = jedis.ping();
System.out.println(result);
}
Jeids API的操作
/**
* Jeids API的操作
* @author pan_junbiao
*/
@Test
public void jedisAPITest()
{
//创建Jedis实例,连接本地Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
//设置Redis数据库的密码
System.out.println(jedis.auth("123456"));
//获取客户端信息
System.out.println(jedis.getClient());
//清空Redis数据库,相当于执行FLUSHALL命令
System.out.println(jedis.flushAll());
//查看Redis信息,相当于执行INFO命令
System.out.println(jedis.info());
//获取数据库中key的数量,相当于指定DBSIZE命令
System.out.println(jedis.dbSize());
//获取数据库名字
System.out.println(jedis.getDB());
//返回当前Redis服务器的时间,相当于执行TIME命令
System.out.println(jedis.time());
}
Jedis-Api: key
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);
}
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<String> list = jedis.lrange("mylist",0,-1);
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<String> smembers = jedis.smembers("orders");
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<String,String> map = new HashMap<String,String>();
map.put("telphone","13810169999");
map.put("address","atguigu");
map.put("email","abc@163.com");
jedis.hmset("hash2",map);
List<String> result = jedis.hmget("hash2", "telphone","email");
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<String> zrange = jedis.zrange("zset01", 0, -1);
for (String e : zrange) {
System.out.println(e);
}
示例1:
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class JedisDemo01 {
public static void main(String[] args) {
//创建Jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
//测试
String ping = jedis.ping();
System.out.println(ping);
}
@Test
void KeyString(){
//创建Jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
//添加
jedis.set("name","qianling");
//获取
String name = jedis.get("name");
System.out.println(name);
//设置多个key-value
jedis.mset("k1","v1","k2","v2");
List<String> mget = jedis.mget("k1", "k2");
System.out.println(mget);
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
}
//操作list
@Test
void List(){
//创建Jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
List<String> list = jedis.lrange("mylist",0,-1);
for (String element : list) {
System.out.println(element);
}
}
//操作set
@Test
void set(){
//创建Jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.sadd("orders", "order01");
jedis.sadd("orders", "order02");
jedis.sadd("orders", "order03");
jedis.sadd("orders", "order04");
Set<String> smembers = jedis.smembers("orders");
for (String order : smembers) {
System.out.println(order);
}
jedis.srem("orders", "order02");
}
//操作hash
@Test
void hash(){
//创建Jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.hset("hash1","userName","lisi");
System.out.println(jedis.hget("hash1","userName"));
Map<String,String> map = new HashMap<String,String>();
map.put("telphone","13810169999");
map.put("address","atguigu");
map.put("email","abc@163.com");
jedis.hmset("hash2",map);
List<String> result = jedis.hmget("hash2", "telphone","email");
for (String element : result) {
System.out.println(element);
}
}
//操作zset
@Test
void zset(){
//创建Jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.zadd("zset01", 100d, "z3");
jedis.zadd("zset01", 90d, "l4");
jedis.zadd("zset01", 80d, "w5");
jedis.zadd("zset01", 70d, "z6");
Set<String> zrange = jedis.zrange("zset01", 0, -1);
for (String e : zrange) {
System.out.println(e);
}
}
}
示例2:
key+String
/**
* 获取Reids连接
* @author pan_junbiao
*/
public Jedis getJedis()
{
//连接Redis服务器
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("Redis服务器连接成功!");
return jedis;
}
/**
* Reids的Key类型
* @author pan_junbiao
*/
@Test
public void redisKey()
{
Jedis jedis = getJedis();
jedis.set("myKey", "pan_junbiao的博客");
System.out.println("判断键为myKey的值是否存在:" + jedis.exists("myKey"));
System.out.println("获取键为myKey的值:" + jedis.get("myKey"));
System.out.println("查看键为myKey的类型:" + jedis.type("myKey"));
System.out.println("随机获取一个Key:" + jedis.randomKey());
System.out.println("将键myKey重命名为myKey1:" + jedis.rename("myKey", "myKey1"));
System.out.println("删除键为myKey1:" + jedis.del("myKey1"));
}
/**
* Reids的String类型
* @author pan_junbiao
*/
@Test
public void redisString()
{
Jedis jedis = getJedis();
System.out.println("设置userName:" + jedis.set("userName", "pan_junbiao的博客"));
System.out.println("设置blogUrl:" + jedis.set("blogUrl", "https://blog.csdn.net/pan_junbiao"));
System.out.println("设置blogRemark:" + jedis.set("blogRemark", "您好,欢迎访问 pan_junbiao的博客"));
System.out.println("用户名称:" + jedis.get("userName"));
System.out.println("博客地址:" + jedis.get("blogUrl"));
System.out.println("博客信息:" + jedis.get("blogRemark"));
System.out.println("设置userName,如果存在返回0:" + jedis.setnx("userName", "pan_junbiao的博客"));
System.out.println("设置userName2:" + jedis.set("userName2", "pan_junbiao"));
System.out.println("获取key为userName和userName2的值:"+jedis.mget("userName","userName2"));
System.out.println("自增1:" + jedis.incr("index"));
System.out.println("自增1:" + jedis.incr("index"));
System.out.println("自增2:" + jedis.incrBy("count",2));
System.out.println("自增2:" + jedis.incrBy("count",2));
System.out.println("递减1:" + jedis.decr("count"));
System.out.println("递减2:" + jedis.decrBy("count",2));
System.out.println("在userName2后面添加String:" + jedis.append("userName2","的博客"));
System.out.println("获取key为userName2的值:" + jedis.get("userName2"));
}
list
/**
* Reids的List类型
* @author pan_junbiao
*/
@Test
public void redisList()
{
Jedis jedis = getJedis();
//在列表的尾部添加数据
jedis.rpush("userList", "pan_junbiao的博客", "https://blog.csdn.net/pan_junbiao", "pan_junbiao的博客", "深圳市");
//返回列表长度
System.out.println("列表长度:" + jedis.llen("userList"));
//移除一个元素
System.out.println("移除一个元素:" + jedis.lrem("userList", 1, "深圳市"));
//修改值
System.out.println("修改元素值:" + jedis.lset("userList", 2, "您好,欢迎访问 pan_junbiao的博客"));
//取值
List<String> list = jedis.lrange("userList", 0, -1);
for (String str : list)
{
System.out.println(str);
}
//删除列表
System.out.println("删除列表:" + jedis.del("userList"));
}
set
/**
* Reids的Set类型
* @author pan_junbiao
*/
@Test
public void redisSet()
{
Jedis jedis = getJedis();
jedis.sadd("city", "北京", "上海", "广州", "深圳", "昆明", "武汉", "大理");
System.out.println("移除并返回集合中的一个随机元素:" + jedis.spop("city"));
System.out.println("随机取出一个值:" + jedis.srandmember("city"));
//移除集合中的一个或多个成员元素
System.out.println("移除集合元素:" + jedis.srem("city", "北京"));
//返回集合中所有元素
System.out.println(jedis.smembers("city"));
//判断元素是否存在
System.out.println("判断深圳是否存在集合中:" + jedis.sismember("city","深圳"));
//返回集合中元素的数量
System.out.println("集合中元素的数量:" + jedis.scard("city"));
jedis.sadd("city2","昆明","香港","澳门","台湾","上海","北京","成都");
System.out.println("交集:" + jedis.sinter("city","city2"));
System.out.println("并集:" + jedis.sunion("city","city2"));
System.out.println("差集:" + jedis.sdiff("city","city2"));
}
zset
/**
* Reids的有序集合(Sorted Set)类型
* @author pan_junbiao
*/
@Test
public void redisSortedSet()
{
Jedis jedis = getJedis();
jedis.zadd("math-score", 100, "pan_junbiao的博客_01");
jedis.zadd("math-score", 82, "pan_junbiao的博客_02");
jedis.zadd("math-score", 80, "pan_junbiao的博客_03");
jedis.zadd("math-score", 55, "pan_junbiao的博客_04");
//为分数值加上增量
System.out.println(jedis.zincrby("math-score", 15, "pan_junbiao的博客_03"));
System.out.println(jedis.zincrby("math-score", -5, "pan_junbiao的博客_04"));
//返回有序集合中指定区间分数的成员数
System.out.println("分数在90至100的人数:" + jedis.zcount("math-score", 90, 100));
//获取在指定区间内的元素(升序)
Set<String> ascSet = jedis.zrange("math-score",0,-1);
System.out.println("分数排名(从低到高):");
for(String str : ascSet)
{
System.out.println("用户名称:" + str + " 分数:" + jedis.zscore("math-score",str));
}
//获取在指定区间内的元素(降序)
Set<String> descSet = jedis.zrevrange("math-score",0,-1);
System.out.println("分数排名(从高到低):");
for(String str : descSet)
{
System.out.println("用户名称:" + str + " 分数:" + jedis.zscore("math-score",str));
}
}
hash
/**
* Reids的哈希(Hash)类型
* @author pan_junbiao
*/
@Test
public void redisMap()
{
Jedis jedis = getJedis();
Map<String,String> map = new HashMap<String,String>();
map.put("userName","pan_junbiao的博客");
map.put("blogUrl","https://blog.csdn.net/pan_junbiao");
map.put("blogRemark","您好,欢迎访问 pan_junbiao的博客");
map.put("city","深圳");
jedis.hmset("userInfo",map);
//删除map中的某个键值
System.out.println("删除map中的某个键值:" + jedis.hdel("userInfo","city"));
//判断指定键值是否存在
System.out.println("判断指定键是否存在:" + jedis.exists("userInfo"));
//返回map对象中的所有key
System.out.println("返回map对象中的所有key:" + jedis.hkeys("userInfo"));
//返回map对象中的所有value
List<String> list = jedis.hvals("userInfo");
for (String str : list)
{
System.out.println(str);
}
}
示例3:
String+key
/**
* 使用jedis的基本操作
*/
private static void opsBase(Jedis jedis) {
System.out.println("向redis中设置一个key " + jedis.set("key1", "value1"));
System.out.println("向redis中设置一个key " + jedis.set("key2", "value2"));
System.out.println("选择redis的一个数据库 " + jedis.select(0));
System.out.println("查看当前数据库的大小 " + jedis.dbSize());
System.out.println("查看redis中所有的key " + jedis.keys("*"));
System.out.println("查看某个键对应值的数据类型 " + jedis.type("key1"));
System.out.println("判断redis中是否存在一个key " + jedis.exists("key1"));
System.out.println("设置redis中的一个key的过期时间 " + jedis.expire("key1", 10));
System.out.println("查看redis中的这个key还有多长时间过期 " + jedis.ttl("key1"));
System.out.println("删除redis中的一个键值对 " + jedis.del("key1"));
System.out.println("清空当前的数据库 " + jedis.flushDB());
System.out.println("清空所有的数据库 " + jedis.flushAll());
System.out.println("将当前的数据库的一个键值对移动到另外一个数据库 " + jedis.move("key2", 1));
}
/**
* 使用jedis操作string类型的数据
*/
private static void opsString(Jedis jedis) {
System.out.println("向redis中设置一个key " + jedis.set("key1", "value1"));
System.out.println("只有当key不存在的时候再向redis中设置 " + jedis.setnx("key1", "value2"));
System.out.println("向redis中设置一个key并设置过期时间 " + jedis.setex("key2", 10, "value2"));
System.out.println("向redis中的某个key的值追加字符串 " + jedis.append("key1", "2"));
System.out.println("获取redis中某个key对应的值 " + jedis.get("key1"));
System.out.println("返回redis中某个key对应的值的长度大小 " + jedis.strlen("key1"));
System.out.println("使用某个字符串从指定开始位置覆盖key对应的值到相同长度 " + jedis.setrange("key1", 0, "yh"));
System.out.println("获取指定索引区间的字符串 " + jedis.getrange("key1", 0, 1));
System.out.println("批量设置key和value " + jedis.mset("key3", "value3", "key4", "value4", "key5", "1"));
System.out.println("批量获取redis中的值 " + jedis.mget("key3", "key4", "key5"));
System.out.println("将redis中key对应的值加一 " + jedis.incr("key5"));
System.out.println("将redis中key对应的值加指定的步长 " + jedis.incrBy("key5", 2));
System.out.println("将redis中key对应的值减一 " + jedis.decr("key5"));
System.out.println("将redis中key对应的值减指定的步长 " + jedis.decrBy("key5", 2));
}
list
/**
* 使用jedis操作list类型的数据
*/
private static void opsList(Jedis jedis) {
System.out.println("从左边向集合中添加元素 " + jedis.lpush("list1", "value1"));
System.out.println("从右边向集合中添加元素 " + jedis.rpush("list1", "value2"));
System.out.println("从集合的左边弹出一个元素 " + jedis.lpop("list1"));
System.out.println("从集合的右边弹出一个元素 " + jedis.rpop("list1"));
System.out.println("从左边向集合中添加元素 " + jedis.lpush("list1", "value1"));
System.out.println("从右边向集合中添加元素 " + jedis.rpush("list1", "value2"));
System.out.println("查看集合中元素的数量 " + jedis.llen("list1"));
System.out.println("覆盖集合中指定位置的key的值 " + jedis.lset("list1", 0, "value"));
System.out.println("从后往前删除两个集合中指定值的元素 " + jedis.lrem("list1", -2, "value2"));
System.out.println("获取集合中指定下标的元素 " + jedis.lindex("list1", 0));
System.out.println("在制定元素之前或者之后插入一个元素" + jedis.linsert("list1", BinaryClient.LIST_POSITION.BEFORE, "value", "before"));
System.out.println("列举集合中的所有元素 " + jedis.lrange("list1", 0, -1));
}
hash
/**
* 使用jedis操作hash类型的数据
*/
private static void opsHash(Jedis jedis) {
System.out.println("向redis中的key对应的map中put一个值 " + jedis.hset("map1", "key1", "value1"));
System.out.println("向redis中的key对应的map中put多个值 " + jedis.hmset("map1", new HashMap<String,String>(8) {
{
this.put("key2", "value2");
this.put("key3", "value3");
this.put("key4", "1");
}
}));
System.out.println("获取redis中key对应map的某个值 " + jedis.hget("map1", "key1"));
System.out.println("获取redis中key对应map的多个值 " + jedis.hmget("map1", "key1", "key2"));
System.out.println("获取redis中key对应map的键值对数量 " + jedis.hlen("map1"));
System.out.println("获取redis中key对应map的所有的key的value的值 " + jedis.hgetAll("map1"));
System.out.println("获取redis中key对应map的所有的键 " + jedis.hkeys("map1"));
System.out.println("获取redis中key对应map的所有的值 " + jedis.hvals("map1"));
System.out.println("如果map对应的key不存在才设置 " + jedis.hsetnx("map1","key4", "2"));
System.out.println("给map中的某个key对应的值增长对应的值 " + jedis.hincrBy("map1", "key4", 2));
}
set和zset
/**
* 使用jedis操作set类型的数据
*/
private static void opsSet(Jedis jedis) {
System.out.println("向set中添加一个或多个元素 " + jedis.sadd("set1", "value1", "value2", "value3", "value4", "value5", "value6"));
System.out.println("获得set中的元素个数 " + jedis.scard("set1"));
System.out.println("判断set中是否存在某个元素 " + jedis.sismember("set1", "value1"));
System.out.println("获得set中的所有元素 " + jedis.smembers("set1"));
System.out.println("删除set中的一个或者多个元素 " + jedis.srem("set1", "value5", "value6"));
System.out.println("随机弹出set中的某个元素 " + jedis.spop("set1"));
System.out.println("向set中添加一个或多个元素 " + jedis.sadd("set2", "value1", "value2"));
System.out.println("获得两个set的差集 " + jedis.sdiff("set1", "set2"));
System.out.println("获得两个set的差集并转储到另外一个set中 " + jedis.sdiffstore("set3", "set1", "set2"));
System.out.println("获得两个set的交集 " + jedis.sinter("set1", "set2"));
System.out.println("获得两个set的交集并转储到另外一个set中 " + jedis.sinterstore("set3", "set1", "set2"));
System.out.println("获得两个set的并集 " + jedis.sunion("set1", "set2"));
System.out.println("获得两个set的并集并转储到另外一个set中 " + jedis.sunionstore("set3", "set1", "set2"));
System.out.println("获得set中的所有元素 " + jedis.smembers("set3"));
}
/**
* 使用jedis操作zset类型的数据
* 带分数输出值的时候返回的是字节数组
*/
private static void opsSortedSet(Jedis jedis) {
System.out.println("向zset中添加一个元素 " + jedis.zadd("sortedSet1",10,"value"));
System.out.println("向zset中添加多个元素 " + jedis.zadd("sortedSet1", new HashMap<String, Double>(8) {
{
this.put("value1", 20D);
this.put("value2", 30D);
this.put("value3", 40D);
this.put("value4", 50D);
}
}));
System.out.println("统计zset中的元素个数 " + jedis.zcard("sortedSet1"));
System.out.println("修改zset中某个元素的分数 " + jedis.zincrby("sortedSet1",-10D,"value"));
System.out.println("删除zset中的一个或多个元素 " + jedis.zrem("sortedSet1", "value3", "value4"));
System.out.println("正序获取zset中指定索引范围内的元素 " + jedis.zrange("sortedSet1", 0, -1));
System.out.println("正序获取zset中指定索引范围内的元素及元素的分数" + jedis.zrangeWithScores("sortedSet1", 0, -1));
System.out.println("正序获取zset中指定分数范围内的元素 " + jedis.zrangeByScore("sortedSet1", 0, 40));
System.out.println("正序获取zset中指定分数范围内的元素及元素的分数" + jedis.zrangeWithScores("sortedSet1", 0, 40));
System.out.println("逆序获取zset中指定索引范围内的元素 " + jedis.zrevrange("sortedSet1", 0, -1));
System.out.println("逆序获取zset中指定索引范围内的元素及元素的分数" + jedis.zrevrangeWithScores("sortedSet1", 0, -1));
System.out.println("逆序获取zset中指定分数范围内的元素 " + jedis.zrevrangeByScore("sortedSet1", 40, 0));
System.out.println("逆序获取zset中指定分数范围内的元素及元素的分数" + jedis.zrevrangeByScoreWithScores("sortedSet1", 40, 0));
}
Redis6新增3个数据类型
/**
* 使用jedis测试基数数据类型
*/
private static void opsHyperLogLog(Jedis jedis) {
System.out.println("向一个数据组中添加数据 " + jedis.pfadd("hyperLogLog", "a", "b", "c", "d", "e", "f", "a", "a", "b"));
System.out.println("向一个数据组中添加数据 " + jedis.pfadd("hyperLogLog1", "a", "b", "c", "d"));
jedis.pfmerge("hyperLogLog0","hyperLogLog", "hyperLogLog1");
System.out.println("输出指定key的基数是多少 " + jedis.pfcount("hyperLogLog0"));
}
/**
* 使用jedis操作geospatial类型的数据
*/
private static void opsGeo(Jedis jedis) {
System.out.println("向geo中添加地图位置信息 " + jedis.geoadd("geo1", 116.404269d, 39.91582d, "beijing"));
System.out.println("向geo中添加地图位置信息 " + jedis.geoadd("geo1", 121.478799d, 31.235456d, "shanghai"));
System.out.println("返回某几个地点的地理位置信息 " + jedis.geopos("geo1","beijing", "shanghai"));
System.out.println("返回两个地点之间的直线距离 " + jedis.geodist("geo1", "beijing", "shanghai"));
System.out.println("返回指定经纬度多少距离以内的元素 " + jedis.georadius("geo1", 116.404269d, 39.91582d,1500, GeoUnit.KM));
System.out.println("返回指定元素多少距离以内的元素 " + jedis.georadiusByMember("geo1", "beijing",1500, GeoUnit.KM));
}
/**
* 使用jedis操作bitmaps类型的数据
*/
private static void opsBitMaps(Jedis jedis) {
System.out.println("向bit中设置数据" + jedis.setbit("bit1",0,true));
System.out.println("向bit中设置数据" + jedis.setbit("bit1",5,false));
System.out.println("向bit中设置数据" + jedis.setbit("bit1",10,false));
System.out.println("获取指定索引上的数字 " + jedis.getbit("bit1",4));
System.out.println("返回bitmaps上共有多少true " + jedis.bitcount("bit1"));
}
}
Jedis实例:手机验证码功能
要求:
1、输入手机号,点击发送后随机生成6位数字码,2分钟有效
2、输入验证码,点击验证,返回成功或失败
3、每个手机号每天只能输入3次
代码展示:
import redis.clients.jedis.Jedis;
import java.util.Random;
public class PhoneCode {
public static void main(String[] args) {
//测试
// String code = getCode();
// System.out.println(code);
//模拟验证码发送
//verifyCode("137000000");
//校验发送的验证码
//getRedisCode("137000000","验证码");
}
//1.随即生成一个六位数的验证码
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;
}
//2.每个手机每天只能发送三次,验证码放到redis中,设置过期时间120
public static void verifyCode(String phone){
//连接redis
Jedis jedis = new Jedis("127.0.0.1", 6379);
//输入redis连接密码
//jedis.auth("root");
//拼接key
//手机发送次数key
String countKey = "VerifyCode" + phone + ":count";
//验证码key
String codeKey = "VerifyCode" + phone + ":code";
//每个手机每天只能发送3次
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("今天的发送次数已经超过3次了");
//关闭连接
jedis.close();
}
//发送的验证码要放到redis中,设置过期时间为120s
String vcode = getCode();
jedis.setex(codeKey,120,vcode);
jedis.close();
}
//3.验证码校验
public static void getRedisCode(String phone,String code){
//从redis中获取验证码
Jedis jedis = new Jedis("127.0.0.1", 6379);
//jedis.auth("root");
//验证码key
String codeKey = "VerifyCode" + phone + ":code";
String redisCode = jedis.get(codeKey);
//判断
if (redisCode.equals(code)){
System.out.println("成功");
}else {
System.out.println("失败");
}
jedis.close();
}
}

浙公网安备 33010602011771号