Jedis 操作 Redis

Jedis 操作 Redis

Jedis 常用操作

① 导入 jedis 所需的依赖

			<dependency><groupId>redis.clientsgroupId><artifactId>jedisartifactId><version>3.2.0version>dependency><dependency><groupId>org.junit.jupitergroupId><artifactId>junit-jupiterartifactId><version>RELEASEversion><scope>compilescope>dependency>

② 连接 Redis 测试

/*** @author xiexu* @create 2022-04-12 12:14*/
public class JedisDemo1 {public static void main(String[] args) {// 创建Jedis对象Jedis jedis = new Jedis("IP地址", 6379);// 测试String ping = jedis.ping();System.out.println(ping);jedis.close();}}

Untitled

返回 PONG,证明连接成功!

操作Key和String

		// 操作key string@Testpublic void demo1() {// 创建Jedis对象Jedis jedis = new Jedis("IP地址", 6379);// 清空当前数据库的所有数据jedis.flushDB();// 添加jedis.set("name", "lucy");// 获取String name = jedis.get("name");System.out.println("name = " + name);// 设置多个key-valuejedis.mset("k1", "v1", "k2", "v2");List<String> mget = jedis.mget("k1", "k2");System.out.println("mget = " + mget);// 获取所有的keySet<String> keys = jedis.keys("*");for (String key : keys) {System.out.println("key = " + key);}jedis.close();}

Untitled

操作list

		// 操作list@Testpublic void demo2() {// 创建Jedis对象Jedis jedis = new Jedis("IP地址", 6379);// 清空当前数据库的所有数据jedis.flushDB();jedis.lpush("key1", "lucy", "mary", "jack");List<String> values = jedis.lrange("key1", 0, -1);System.out.println("values = " + values);jedis.close();}

Untitled

操作set

		// 操作set@Testpublic void demo3() {// 创建Jedis对象Jedis jedis = new Jedis("IP地址", 6379);// 清空当前数据库的所有数据jedis.flushDB();jedis.sadd("names", "lucy");jedis.sadd("names", "mary");Set<String> names = jedis.smembers("names");System.out.println("names = " + names);jedis.close();}

Untitled

操作hash

		// 操作hash@Testpublic void demo4() {// 创建Jedis对象Jedis jedis = new Jedis("IP地址", 6379);// 清空当前数据库的所有数据jedis.flushDB();jedis.sadd("names", "lucy");jedis.hset("users", "age", "20");String hget = jedis.hget("users", "age");System.out.println("hget = " + hget);jedis.close();}

Untitled

操作zset

		// 操作zset@Testpublic void demo5() {// 创建Jedis对象Jedis jedis = new Jedis("IP地址", 6379);// 清空当前数据库的所有数据jedis.flushDB();jedis.zadd("china", 100d, "shanghai");Set<String> china = jedis.zrange("china", 0, -1);System.out.println(china);jedis.close();}

Untitled

Jedis 实例 - 手机验证码

/*** @author xiexu* @create 2022-04-13 10:31*/
public class PhoneCode {public static void main(String[] args) {// 模拟验证码发送String phone = "15814963051";String code = verifyCode(phone);// 模拟验证码校验getRedisCode(phone, code);}// 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;}// 2.让每个手机每天只能发送三次,验证码放到redis中,设置过期时间2分钟public static String verifyCode(String phone) {// 连接redisJedis jedis = new Jedis("IP地址", 6379);// 拼接key// 手机发送次数keyString countKey = "VerifyCode" + phone + ":count";// 验证码keyString codeKey = "VerifyCode" + phone + ":code";String count = jedis.get(countKey);if (count == null) {// 没有发送次数,第一次发送// 设置发送次数是1// 24 * 60 * 60 是一天的秒数jedis.setex(countKey, 24 * 60 * 60, "1");} else if (Integer.parseInt(count) <= 2) {// 发送次数+1jedis.incr(countKey);} else {System.out.println("今天发送次数已经超过三次!!!");jedis.close();return null;}// 发送验证码放到redis里面String vcode = getCode();jedis.setex(codeKey, 120, vcode);jedis.close();return vcode;}// 3.验证码校验public static void getRedisCode(String phone, String code) {// 连接redisJedis jedis = new Jedis("IP地址", 6379);// 从redis获取验证码// 验证码keyString codeKey = "VerifyCode" + phone + ":code";String redisCode = jedis.get(codeKey);// 判断if (redisCode.equalsIgnoreCase(code)) {System.out.println("成功");} else {System.out.println("失败");}jedis.close();}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部