当前位置:网站首页>redis的基本使用
redis的基本使用
2022-07-29 05:09:00 【阳光里哭泣的狗】
package redis_learn;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class JedisDemo {
//@Test表示这个方法是单元测试的方法
//连接并添加String类型数据
@Test
public void fun1() {
//直接连接redis数据库
Jedis jedis = new Jedis("127.0.0.1",6379);
//设置连接密码
// jedis.auth("123");
//添加String类型数据
jedis.set("field1","i am field1");
//输出添加的数据(根据键,输出对应的值)
System.out.println(jedis.get("field1"));
//删除String类型数据(根据键删除)
// jedis.del("field1");
//输出数据,查看是否删除成功
System.out.println(jedis.get("field1"));
}
//连接并添加hash类型数据(我理解为给String类型的数据进行了分类,每个hash可以存储2^32-1个键值对)
@Test
public void fun2(){
//通过连接池方式连接redis数据库
Jedis jedis = RedisUtils.getJedis();
//添加hash类型数据
jedis.hset("hset1","name","张三");
jedis.hset("hset1","age","22");
jedis.hset("hset1","sex","男");
//获取数据
List<String> hmget = jedis.hmget("hset1", "name","age","sex");
//输出
System.out.println(hmget);
//删除
jedis.hdel("hset1","name","sex");
//删除后再输出,看看是否删除成功
System.out.println(jedis.hmget("hset1", "name","age","sex"));
RedisUtils.returnResource(jedis);
}
//连接并添加List类型数据(队列,按照插入顺序排序,可以添加一个元素到列表的头部(左边),或者尾部(右边))
@Test
public void fun3() {
//通过连接池方式连接redis数据库
Jedis jedis = RedisUtils.getJedis();
//添加List类型数据,lpush添加到列表头部,即后添加的数据在最前面
jedis.lpush("field2","aaa");
jedis.lpush("field2","bbb");
jedis.lpush("field2","ccc");
//从索引1的位置获取到索引6位置的值,因为超出了实际索引2,所以后面会继续循环输出
List<String> field2 = jedis.lrange("field2", 0, 6);
//输出添加的键值对
for(String item:field2){
System.out.println(item);
}
RedisUtils.returnResource(jedis);
}
//连接并添加Set类型数据(一堆不重复值的组合)
@Test
public void fun4(){
//通过连接池方式连接redis数据库
Jedis jedis = RedisUtils.getJedis();
//添加Set类型数据
jedis.sadd("name","zhangsan");
jedis.sadd("name","lisi");
jedis.sadd("name","lisi"); //同一个数据再次添加,会覆盖上一次的
jedis.sadd("age","16");
jedis.sadd("sex","nan");
jedis.sadd("address","china");
//获取Set类型数据
Set<String> name = jedis.smembers("name");
//输出获取到的Set类型数据(输出的顺序是无序的)
System.out.println(name);
System.out.println("\n");
//获取当前redis数据库中,所有key,以Set集合的方式返回数据
Set<String> set = jedis.keys("*");
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
RedisUtils.returnResource(jedis);
}
//连接并添加ZSet类型数据(zset是set的升级版,它在set的基础上增加了顺序属性score,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序)
@Test
public void fun5(){
//通过连接池方式连接redis数据库
Jedis jedis = RedisUtils.getJedis();
//添加zset型数据
jedis.zadd("field3",1,"hhh");
jedis.zadd("field3",0,"jjj");
jedis.zadd("field3",3,"bbb");
//获取set型数据
Set<String> field3 = jedis.zrangeByScore("field3", 0, 5);
//用迭代器循环输出
Iterator<String> iterator = field3.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
RedisUtils.returnResource(jedis);
}
}
边栏推荐
- [event preview] cloud digital factory and digital transformation and innovation forum for small and medium-sized enterprises
- CryEngine3 调试Shader方法
- 游戏行业弹性计算最佳实践
- 牛客网编程题—【WY22 Fibonacci数列】和【替换空格】详解
- 51万奖池邀你参战!第二届阿里云ECS CloudBuild开发者大赛来袭
- MySQL的详细安装使用教程(保姆式安装图文讲解)
- Alibaba cloud Zhang Xintao: heterogeneous computing provides surging power for the digital economy
- 英伟达周锡健:设计到数字营销的最后一公里
- 哈夫曼树以及哈夫曼编码在文件压缩上的应用
- With frequent data leakage and deletion events, how should enterprises build a security defense line?
猜你喜欢

PyQt5:第一章第1节:使用Qt组件创建一个用户界面-介绍

【C语言系列】—深度解剖数据在内存中的存储(二)-浮点型

365 day challenge leetcode 1000 questions - day 042 array sequence number conversion + relative ranking discretization processing

一维数组练习

Alibaba cloud and Dingjie software released the cloud digital factory solution to realize the localized deployment of cloud MES system

直播预告|如何通过“智能边缘安全”提升企业免疫力?

浅谈范式

英伟达周锡健:设计到数字营销的最后一公里

阿里云架构师细说游戏行业九大趋势

阿里云架构师梁旭:MES on 云盒,助力客户快速构建数字工厂
随机推荐
浅谈Servlet
实现简单的数据库查询(不完整)
抽象类与接口
抢先预约 | 阿里云无影云应用线上发布会预约开启
C language first level pointer
365天挑战LeetCode1000题——Day 038 公交站间的距离 + 基于时间的键值存储 + 转变数组后最接近目标值的数组和 + 有界数组中指定下标处的最大值
携手数字人、数字空间、XR平台,阿里云与伙伴共同建设“新视界”
Teardown's method of lifting the time limit
浅谈范式
阿里云架构师梁旭:MES on 云盒,助力客户快速构建数字工厂
递归的基本原理
365 day challenge leetcode 1000 questions - day 042 array sequence number conversion + relative ranking discretization processing
平行云CEO 李岩:CloudXR ,开启通往元宇宙的通道
QML type: state state
Together with digital people, digital space and XR platform, Alibaba cloud and its partners jointly build a "new vision"
文件结尾
JD cloud golden autumn cloud special offer is in progress! Code scanning participation activities
[event preview] cloud digital factory and digital transformation and innovation forum for small and medium-sized enterprises
Side effects and sequence points
Differences between texture2d and texture2dproj under webgl1.0