当前位置:网站首页>Redis快速入门

Redis快速入门

2022-07-06 09:33:00 bestkasscn

Redis

概念

redis是一款高性能的非关系型的数据库。存储形式是key-value.

非关系型数据库特点

  1. 数据之间没有关联关系
  2. 数据存储在内存中

下载安装

  1. 官网:https://redis.io
  2. 中文网:http://www.redis.net.cn
  3. 解压可以直接使用
    • redis.windows.conf:配置文件
    • redis-cli.exe:redis的客户端
    • redis-server.exe:redis的服务器端

命令操作

  1. redis的数据结构

    • redis存储的是:key-value格式的数据,其中key都是字符串,value有5种不同的数据结构
      • value的数据结构
        • 字符串类型:string
        • 哈希类型:hash:map格式
        • 列表类型:list:linkedlist格式
        • 集合类型:set;
        • 有序集合类型:sortedset
  2. 字符串类型 string

    1. 存储:set key value
    2. 获取:get key
    3. 删除:del key
  3. 哈希类型 hash

    1. 存储:hset key field value

    2. 获取:hget key field

      ​ hgetall key(获取所有field的value)

    3. 删除:hdel key field

  4. 列表类型 list 可以使用头插法和尾插法

    1. 存储:lpush key value(头插法)

      ​ rpush key value(尾插法)

    2. 获取:lrange key start end :范围获取

    3. 删除:lpop key 删除最左边的元素,并将元素返回

      ​ rpop key 删除最右边的元素,并将元素返回

  5. 集合类型 set

    1. 存储:sadd key value
    2. 获取:smembers key
    3. 删除:srem key value
  6. 通用命令

    1. keys *:查询所有的键
    2. type key:获取键对应的value类型
    3. del key:删除键

持久化

  1. redis是一个内存数据库,当redis服务器重启,或者电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中

  2. redis持久化机制:

    1. RDB:默认方式,不需要进行配置,默认就使用这种机制

      在一定的间隔时间中,检测key的变化,然后持久化数据

    2. AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次操作后持久化数据

Jedis

  1. 引入依赖

    <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>2.7.0</version>
            </dependency>
    
  2. 测试

    public class JedisTest {
          
        private Jedis jedis;
    
        @BeforeEach
        void setup(){
          
    // 建立连接
            jedis = new Jedis("127.0.0.1",6379);
    // 选择数据库
            jedis.select(0);
        }
    
        @Test
        void testString(){
          
            //存入数据
            String result = jedis.set("name","zhangsan");
            System.out.println("result=" + result);
            //获取数据
            String name = jedis.get("name");
            System.out.println("name=" + name);
        }
    
        @AfterEach
        void tearDown(){
          
            if (jedis != null){
          
                jedis.close();
            }
        }
    }
    

SpringDataRedis

Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。

spring-data-redis针对jedis提供了如下功能:

连接池自动管理,提供了一个高度封装的“RedisTemplate”类

针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口

    ValueOperations:简单K-V操作

    SetOperations:set类型数据操作

    ZSetOperations:zset类型数据操作

    HashOperations:针对map类型的数据操作

    ListOperations:针对list类型的数据操作
原网站

版权声明
本文为[bestkasscn]所创,转载请带上原文链接,感谢
https://blog.csdn.net/bestkasscn/article/details/123293336