微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis基础

Redis一个基于内存的 key-value 结构数据库

  • 基于内存存储,读写性能
  • 适合存储热点数据(热点商品、资讯、新闻)
  • 企业应用广泛

简介

Redis一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。

也被称为Nosql (Not Only sql),泛指非关系型数据库,是关系型数据库的补充。

常见数据库分类
关系型数据库MysqL、Oracle、sqlServer、DB2
非关系型数据库:Redis、Mongo db、MemCached

Redis应用场景

  • 缓存
  • 任务队列
  • 消息队列
  • 分布式锁

key-value结构中,key是字符串类型,value有5种常用的数据类型

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set

命令行操作

字符串string操作命令

在这里插入图片描述

哈希 hash 操作命令

在这里插入图片描述

列表 list 操作命令

在这里插入图片描述

集合 set 操作命令

在这里插入图片描述

有序集合 sorted set 操作命令

在这里插入图片描述

通用命令

在这里插入图片描述

测试

在这里插入图片描述

Java中操作Redis

Spring Data Redis
在Spring Boot项目中,可以使用Spring Data Redis来简化Redis操作,maven坐标:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

配置文件

spring:

  #Redis相关配置
  redis:
    host: localhost
    port: 6379
    #password: 123456
    database: 0 #操作的是0号数据库
    jedis:
      #Redis连接池配置
      pool:
        max-active: 8 #最大连接数
        max-wait: 1ms #连接池最大阻塞等待时间
        max-idle: 4 #连接池中的最大空闲连接
        min-idle: 0 #连接池中的最小空闲连接

Spring Data Redis 中提供了一个高度封装的类:Redistemplate,针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口

  • ValueOperations : 简单K-V操作
  • Setoperations : set类型数据操作
  • ZSetoperations : zset类型数据操作
  • HashOperations : 针对map类型的数据操作
  • ListOperations : 针对list类型的数据操作

示例代码

        
        HashOperations hashOperations = redistemplate.opsForHash();

        //存值
        hashOperations.put("002","name","xiaoming");
        hashOperations.put("002","age","20");
        hashOperations.put("002","address","bj");

        //取值
        String age = (String) hashOperations.get("002", "age");
        System.out.println(age);

        //获得hash结构中的所有字段
        Set keys = hashOperations.keys("002");
        for (Object key : keys) {
            System.out.println(key);
        }

        //获得hash结构中的所有值
        List values = hashOperations.values("002");
        for (Object value : values) {
            System.out.println(value);
        }

原文地址:https://www.jb51.cc/wenti/3279756.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐