Redis快速入门

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类型的数据操作
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bestkasscn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值