redis java 获取数据类型_Redis(基本数据类型和使用Java操作Redis)

一、Redis的基本数据类型(jedis操作类型数据)

1、导入依赖(导入Redis依赖,让项目支持使用Redis)

org.springframework.boot

spring-boot-starter-data-redis

redis.clients

jedis

2.9.0

2、创建一个普通Java类,导入Jedis并完成基本配置

d6810f97256db2aab3f22f75d16cf4d8.png

3、类型演示

(1)jedis操作String类型数据

/*** jedis操作String类型数据*/@Testpublic voidoperationString(){//切换到数据库

jedis.select(1);//设置一个String类型的key-value(添加数据)

jedis.set("strKey01","strValue01");//设置key的有效时间//jedis.expire("strKey01",20);//获取String数据

String value = jedis.get("strKey01");

System.out.println("对应存放的value值为:"+value);//修改数据

jedis.set("strKey01","strValue02");//删除数据

jedis.del("strKey01");//设置多个值

jedis.mset("strKey01","strValue01","strKey02","strValue01","strKey03","strValue03","strKey04","1");//+1操作

jedis.incr("strKey04");//-1操作

jedis.decr("strKey04");//拼接

jedis.append("strKey04","append");

}

执行效果如下

073938ed8fee1ea3a0a6c45e9cefb69e.png

ffb8db23e65e814dc1cecff40abb7e98.png

(2)jedis操作List类型数据

/*** jedis操作List类型数据*/@Testpublic voidoperationList(){//清空集合值

jedis.del("listkey01","listkey02");//设置List集合值,左侧插入

jedis.lpush("listkey01","张三","李四","王五");//设置List集合值,右侧插入

jedis.rpush("listkey02","北京","上海","广州");//过去List集合值

List listkey01 = jedis.lrange("listkey01", 0, -1);for(String item:listkey01){

System.out.println(item);

}//更改List集合数据

jedis.lset("listkey01",0,"赵六");

}

执行结果如下

8af9a1eb1154da0dd33be1be2d554d07.png

884a5e3425ec0cdf2d3fdf0adab77ad2.png

(3)jedis操作Set类型数据

/*** jedis操作Set类型数据*/@Testpublic voidoperationSet(){//切换到数据库

jedis.select(2);//设置Set集合

jedis.sadd("setkey01","张三","李四","王五");//获取

Set setkey01 = jedis.smembers("setkey01");for(String item:setkey01){

System.out.println(item);

}

}

执行结果如下

f1e751fde2440c35c337a00aa71681fd.png

6abff0ac25ff57a2dfa234c7677f4cb4.png

(4)jedis操作SortedSet(有序set集合)类型数据

/*** jedis操作SortedSet(有序set集合)类型数据*/@Testpublic voidoperationSortedSet(){//切换到数据库

jedis.select(2);//设置SortedSet集合

jedis.zadd("setkey02",1,"北京");

jedis.zadd("setkey02",1,"上海");

jedis.zadd("setkey02",1,"广州");//获取SortedSet

Set setkey02 = jedis.zrange("setkey02", 0, -1);for(String item:setkey02){

System.out.println(item);

}

}

执行结果如下

d70e316d142f51510fb623b389b4e081.png

be73feb0b3803ae87e9ef9441574d4f5.png

(5)jedis操作Map类型数据

/*** jedis操作Map类型数据*/@Testpublic voidoperationMap(){//切换到数据库

jedis.select(3);//设置Map

Map map=new HashMap<>();

map.put("name","张三");

map.put("age","18");

jedis.hmset("mapkey01",map);//获取值

List value = jedis.hmget("mapkey01", "name", "age");for(String item:value){

System.out.println(item);

}

执行结果如下

bb5ecc29640f51902fce8f5e5c872257.png

a9cb0b92f04e538233b48f733c9a7243.png

二、只用Java操作Redis

1、导入依赖

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-parent

2.2.1.RELEASE

org.springframework.boot

spring-boot-starter-data-redis

2、配置Application.yml文件

9eec4e7e064eaddaaa76ad1bd28f6a2b.png

3、创建SpringBootRedis类

packagecom.jedis.service;importorg.springframework.data.redis.core.StringRedisTemplate;importorg.springframework.stereotype.Service;importjavax.annotation.Resource;importjava.util.List;importjava.util.Map;importjava.util.Set;importjava.util.concurrent.TimeUnit;

@Servicepublic classSpringBootRedis {

@ResourceprivateStringRedisTemplate stringRedisTemplate;public voidset(String key,Object value){if (value instanceofString){//200L, TimeUnit.SECONDS:用来设置时间,TimeUnit.SECONDS相当于设置单位//stringRedisTemplate.opsForValue().set(key,(String)value,200L, TimeUnit.SECONDS);

stringRedisTemplate.opsForValue().set(key,(String)value);

}else if(value instanceofList){

List list=(List)value;for(String item:list){

stringRedisTemplate.opsForList().leftPush(key,item);

}

}else if (value instanceofSet){

String[] objects= (String[]) ((Set) value).toArray(newString[((Set) value).size()]);

stringRedisTemplate.opsForSet().add(key,objects);

}else if (value instanceofMap){

stringRedisTemplate.opsForHash().putAll(key,(Map,?>) value);

}

}

}

4、创建controller类

packagecom.jedis.controller;importcom.jedis.service.SpringBootRedis;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importjavax.annotation.Resource;importjavax.servlet.http.HttpServletResponse;import java.util.*;

@Controllerpublic classRedisController {

@ResourceprivateSpringBootRedis springBootRedis;

@RequestMapping ("/setString")public voidsetString(HttpServletResponse response){

springBootRedis.set("strkey","strvalue");

}

@RequestMapping("/setList")public voidsetList(HttpServletResponse response){

List stringList=new ArrayList<>();

stringList.add("张三");

stringList.add("李四");

stringList.add("王五");

springBootRedis.set("listkey",stringList);

}

@RequestMapping("/setSet")public voidsetSet(HttpServletResponse response){

Set set=new HashSet<>();

set.add("北京");

set.add("上海");

springBootRedis.set("setkey",set);

}

@RequestMapping("/setMap")public voidsetMap(HttpServletResponse response){

Map map=newHashMap();

map.put("name","张三");

map.put("age","18");

springBootRedis.set("mapkey",map);

}

}

5、创建启动类StartApplication

packagecom.jedis;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplicationpublic classStartApplication {public static voidmain(String[] args){

SpringApplication.run(StartApplication.class,args);

}

}

6、实现效果如下

9a7bfab7994fd5aed207c97010a03567.png

(1)http://localhost:8080/setString

eab10c6d46e133bb41e71c0a13f3b9e7.png

(2)http://localhost:8080/setList

1f2875551c7ba0b8508ced2ee57f37c9.png

(3)http://localhost:8080/setSet

fe7b94b137c24fad1ca152b924b3bf99.png

(4)http://localhost:8080/setMap

0a1a5d2a4281a17759ea83fb6bbdae4c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值