济宁网站建设top,wordpress 使用新id,php网站开发有前景吗,文创产品设计创意图片一.环境配置
1.依赖注入 2.yaml文件配置 3.启动本地Redis服务
(或在虚拟机上启动,这里为了方便演示在本地启动) 4.启动成功案例 5.创建一个Controller我们开始演示
RestController
public class MyController {Autowiredprivate StringRedisTemplate redisTemplate;} 二 …一.环境配置
1.依赖注入 2.yaml文件配置 3.启动本地Redis服务
(或在虚拟机上启动,这里为了方便演示在本地启动) 4.启动成功案例 5.创建一个Controller我们开始演示
RestController
public class MyController {Autowiredprivate StringRedisTemplate redisTemplate;} 二 String操作 GetMapping(/testString)public String test1String() throws JsonProcessingException {// 存储字符串//key为键,value为值,这里就像MapString,StringredisTemplate.opsForValue().set(greeting, Hello, World!);//获取key对应的值String valueString redisTemplate.opsForValue().get(greeting);log.info(valueString:valueString);//删除keyredisTemplate.delete(greeting);String valueString2 redisTemplate.opsForValue().get(greeting);log.info(valueString2:valueString2);// 存储整数int counter 42;redisTemplate.opsForValue().set(counter, String.valueOf(counter));String valueInteger redisTemplate.opsForValue().get(counter);log.info(valueInteger:valueInteger);// 存储字节数组byte[] binaryData some binary data.getBytes();redisTemplate.opsForValue().set(binary:key, Arrays.toString(binaryData));String valueArray redisTemplate.opsForValue().get(binary:key);log.info(valueArray:valueArray);// 存储 JSON 对象User user new User(John, 123);//Json序列化ObjectMapper objectMapper new ObjectMapper();String jsonString objectMapper.writeValueAsString(user);redisTemplate.opsForValue().set(user:123, jsonString);String valueJson redisTemplate.opsForValue().get(user:123);log.info(valueJson:valueJson);/* //存储空值nullredisTemplate.opsForValue().set(key, null);//报错:Value must not be nullString valueNull redisTemplate.opsForValue().get(key);log.info(valueNull:valueNull);*/return OK;} 运行结果 三.List操作 GetMapping(/testList)ResponseBodypublic String testList() {//清空redis中所有数据,防止影响其他测试,慎用redisTemplate.getConnectionFactory().getConnection().flushAll();String ListNull redisTemplate.opsForList().leftPop(key);System.out.println(ListNull: ListNull);//存储一个值,键是key,值是aredisTemplate.opsForList().leftPush(key, a);//存储多个值,但是键值键一样都是key,值是b,c,dredisTemplate.opsForList().leftPushAll(key, b, c, d);//获取第一个元素String firstElement redisTemplate.opsForList().leftPop(key);System.out.println(frist:firstElement);//获取列表key的第2到第3个元素索引从0开始,但是这里获取之后并未取出来ListString values redisTemplate.opsForList().range(key, 1, 2);System.out.println(values);//获取列表key的最后一个元素String finalElement redisTemplate.opsForList().leftPop(key);System.out.println(finalElement: finalElement);return OK;}
运行结果
ListNull: null
frist:d
[b, a]
finalElement: c
注意:leftPush()是往左存储,最终存储后顺序是的,d,c,b,a 四.Hash操作 GetMapping(/testHashmap)ResponseBodypublic String testHashmap() {//清空redis中所有数据,防止影响其他测试,慎用redisTemplate.getConnectionFactory().getConnection().flushAll();//向Redis中插入一个Hash键值对键为 key字段为 name值为 zhangsanredisTemplate.opsForHash().put(key, name, zhangsan);//从Redis中获取刚刚插入的Hash值String value (String) redisTemplate.opsForHash().get(key, name);System.out.println(value);//删除Hash中的字段 nameredisTemplate.opsForHash().delete(key, name);//检查字段 name 是否还存在于Hash中boolean ok redisTemplate.opsForHash().hasKey(key, name);System.out.println(ok);//删除整个Hash键 keyredisTemplate.delete(key);return OK;} 运行结果
zhangsan
false 五.Set GetMapping(/testSet)ResponseBodypublic String testSet() {//清空redis中所有数据,防止影响其他测试,慎用redisTemplate.getConnectionFactory().getConnection().flushAll();//向Redis的key中添加三个元素aaa、bbb、cccredisTemplate.opsForSet().add(key, aaa, bbb, ccc);//检查key中是否包含aaaboolean ok redisTemplate.opsForSet().isMember(key, aaa);System.out.println(ok);//从key中移除aaaredisTemplate.opsForSet().remove(key, aaa);//获取key中剩余元素的数量long n redisTemplate.opsForSet().size(key);System.out.println(n);//删除keyredisTemplate.delete(key);return OK;}
运行结果
true
2 六.ZSet GetMapping(/testZSet)ResponseBodypublic String testZSet() {//向Redis中名为key的有序集合添加三个成员吕布、赵云和典韦分别赋予不同的分数redisTemplate.opsForZSet().add(key, 吕布, 100);redisTemplate.opsForZSet().add(key, 赵云, 98);redisTemplate.opsForZSet().add(key, 典⻙, 95);//获取并打印分数最高的前3个成员,切记ZSet是有序集合SetString values redisTemplate.opsForZSet().range(key, 0, 2);System.out.println(values);//统计并打印分数在95到100之间的成员数量long n redisTemplate.opsForZSet().count(key, 95, 100);System.out.println(n);redisTemplate.delete(key);return OK;}
运行结果
[典⻙, 赵云, 吕布]
3