Redis学习

10.String类型

11.key的结构

set travel:user:2 '{"id":2,"name":"nsy","age":18}'

层级结构

如果发现不需要密码也能操作redis,就是没有指定 -p 为设置好的 6380,

应该这样:

redis-cli -p 6380

12.Hash类型

使用Hash类型就是在Value里面再嵌套任意个键值对

HSET存入

html 复制代码
 HSET travel:user:4 name lucy
 HSET travel:user:4 age 18

对Hash里某个key对应的值进行修改

再HSET一次即可

也可以直接设置多个子键值对:

HSET travel:user:5 name nsy age 18 height 1.8

获取值:HGET(只能获取单个字段)

HMGET(获取多个字段)

13.List类型

LPUSH :从左边插入

RPUSH :从右边插入

可以看见是3 2 1,因为我用的是LPUSH,先插1,再在1的左边插2,再在2的左边插3

而RPUSH就是相反的

14.SET类型

s1和s2的差集 :s1集合中有但s2集合中没有的值

15.SortedSet类型

SortedSet类型可排序的set集合,类似于jvava中的TreeSet,但是底层数据结构差别很大

16.StringRedisTemplate

使用StringRedisTemplate能在Idea中对redis里面的数据进行一些操作

与RedisTemplate不同的是,StringRedisTemplate不能自动化完成序列化与反序列化,需要我们手动转化

,这样做的优点是节省空间。

具体步骤:

java 复制代码
@SpringBootTest
class RedisDemoApplicationTests {

    private  static  final ObjectMapper objectmapper = new ObjectMapper();

    @Autowired
    private StringRedisTemplate stringRedisTemplate;


    @Test
    void contextLoads() throws JsonProcessingException {
        //定义数据
        User user = new User("胡歌",31);
        //序列化数据
        String json =objectmapper.writeValueAsString(user);
        //使用stringRedisTemplate的方法存数据
        stringRedisTemplate.opsForValue().set("travel:user:200",json);
        //获取数据
        String jsonuser = stringRedisTemplate.opsForValue().get("travel:user:200");
        //反序列化
        User user1 = objectmapper.readValue(jsonuser,User.class);
        System.out.println("user1 = " + user1);
    }

}
相关推荐
竹枝溪3 分钟前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
math_hongfan6 分钟前
事务下单与状态流转:ArkTS 的 JOIN 联表在鸿蒙订单里实战
android·学习·华为·harmonyos
weixin_4316004432 分钟前
NestJS 入门(9):连上数据库,SQL 写在哪?
数据库·后端·sql·学习·nest.js
举手37 分钟前
Epoll模型
linux·c++·学习
MartinYeung51 小时前
[论文学习]JBShield:通过激活概念分析与操纵防御大语言模型越狱攻击
人工智能·学习·语言模型
math_hongfan1 小时前
一对多的数据库姻缘:ArkTS 为鸿蒙订单设计外键与明细表
数据库·华为·harmonyos
城管不管1 小时前
MySQL 慢查询完整排查
java·服务器·jvm·数据库·mysql·spring·面试
XLYcmy1 小时前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割
MartinYeung51 小时前
[论文学习]SMSR:带平滑检索的签名记忆——针对持久化LLM智能体系统运行时内存投毒的认证防御
人工智能·学习
树码小子1 小时前
MySQL 的事务隔离级别(重点面试题)
数据库·mysql