码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Redis】初识Redis


    • 1.初识Redis
      • 1.1安装
      • 1.2数据结构
        • 1.2.1 通用命令
        • 1.2.2 String类型
          • key的结构
        • 1.2.3 Hash类型
    • 2.Jedis
      • 2.1 添加依赖及配置
      • 2.2 配置StringRedisTemplte

    1.初识Redis

    Redis是一个基于内存的键值型NoSQL数据库。其具有性能优越、持久化的特点,能够支持每秒十几万次的读写操作。

    1.1安装

    安装成功:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D32hRbKi-1670254635383)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221129191146532.png)]

    1.2数据结构

    Redis是一个key-value的数据库。

    key:“String”,

    value:通常是一个字符串

    查阅网址:redis命令手册

    1.2.1 通用命令

    KEYS:查看符合模板的所有key

    DEL:删除一个指定的key

    EXISTS:判断key是否存在

    EXPIRE:给一个key设置一个有效期,有效期到时会被自动删除

    TTL:查看一个key的剩余有效期

    …

    1.2.2 String类型

    其在底层是以字节数组形式存储的。

    key的结构

    key可以设置为多个单词组成的层级结构,用:隔开

    例如:project:user:1

    1.2.3 Hash类型

    结构:Hash结构可以将对象中的每个字段独立存储

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-buC8C6aL-1670254635384)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221128225955973.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cHqkEAD8-1670254635384)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221128225754509.png)]

    • List类型
    • Set类型
    • SortedSet类型
    • …

    2.Jedis

    在Java项目中使用Redis步骤如下。

    2.1 添加依赖及配置

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-data-redisartifactId>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    spring:
      redis:
        host: 192.168.1.158
        port: 6379
        password: 123456
        lettuce:
          pool:
            max-active: 10
            max-idle: 10
            min-idle: 1
            time-between-eviction-runs: 10s
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2.2 配置StringRedisTemplte

    在spring中,将对象存入Redis中需要将其序列化,其序列化有两种方式:

    两种序列化实践方案:

    1. 自定义RedisTemplate,修改RedisTemplate的序列化器为GenericJacksonRedisSerializer

    2. 使用StringRedisTemplate,写入Redis时,手动把读取到的JSON反序列化为对象。(节省内存)

      @Autowired
      private StringRedisTemplate stringRedisTemplate;
      // JSON工具
      private static final ObjectMapper mapper = new ObjectMapper();
      @Test
      void testStringTemplate() throws JsonProcessingException {
      	//准备对象
          User user = new User("虎哥", 18);
          //手动序列化
          String json = mapper.writeValueAsString(user);
         //写入一条数据到redis
         stringRedisTemplate.opsForValue().set("user:200", json); 
      
         /读取数据
         String val = stringRedisTemplate.opsForValue().get("user:200");
         //反序列化
         User user1 = mapper.readValue(val, User.class);
         System.out.println("user1 = " + user1);
       }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
  • 相关阅读:
    函数指针作业题目
    零基础学习React(Html)
    Python requests 模块
    yolov5剪枝实战4: 正常训练和稀疏化训练
    Lombok依赖
    nvm详解(mac环境nvm安装步骤及踩坑问题)
    当 SQL Server(mssql-jdbc) 遇上 BigDecimal → 精度丢失,真坑!
    推荐Java开发常用的工具类库google guava
    FreeCAD二次开发-基于PyQT对话框与FC交互的开发
    python库sqlalchemy使用教程
  • 原文地址:https://blog.csdn.net/qq_51452131/article/details/128195273
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号