zoukankan      html  css  js  c++  java
  • redis在macOS上的安装及与springboot的整合使用

    一、redis介绍

    redis是一种键值型的数据库,是一种nosql数据库。在大数据上面有较多的应用。

    二、 redis在macOS上的安装

    1.下载

    打开官网:https://redis.io/
    Download---Stable---Download3.2.8,下载最新稳定版,这里是3.2.8
    NCCqw4.png

    2.安装

    下载完成后,打开命令行工具,执行解压命令

    tar zxvf redis-3.2.8.tar.gz

    将解压后文件夹放到/usr/local

    mv redis-3.2.8 /usr/local/

    切换到相应目录

    cd /usr/local/redis-3.2.8/

    编译测试

    sudo make test

    NCPp6K.png

    编译安装

    sudo make install

    NCi9Cn.md.png

    启动redis

    redis-server

    NCFGQ0.png

    3. 配置

    在redis目录下建立bin,etc,db三个目录

    sudo mkdir /usr/local/redis-3.2.8/bin
    sudo mkdir /usr/local/redis-3.2.8/etc
    sudo mkdir /usr/local/redis-3.2.8/db

    把/usr/local/redis/src目录下的mkreleasehdr.sh,redis-benchmark, redis-check-rdb, redis-cli, redis-server拷贝到bin目录

    cp /usr/local/redis-3.2.8/src/mkreleasehdr.sh .
    cp /usr/local/redis-3.2.8/src/redis-benchmark .
    cp /usr/local/redis-3.2.8/src/redis-check-rdb .
    cp /usr/local/redis-3.2.8/src/redis-cli .
    cp /usr/local/redis-3.2.8/src/redis-server .

    拷贝 redis.conf 到 /usr/local/redis/etc下

    cp /usr/local/redis-3.2.8/redis.conf /usr/local/redis-3.2.8/etc

    修改redis.conf

    按 Ctrl+C 复制代码
    按 Ctrl+C 复制代码

    启动服务

    ./bin/redis-server etc/redis.conf

    查看日志

    tail -f log-redis.log
    NCkNct.png

    打开redis客户端

    ./bin/redis-cli

    执行redis命令
    NCkUjP.png

    三、redis和springboot整合实现功能

    1.整合所需要的依赖
    https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
        <version>2.2.2.RELEASE</version>
    </dependency>
    
    2.配置

    在配置文件的spring节点下添加如下配置:

    redis:
      host: localhost # Redis服务器地址
      database: 0 # Redis数据库索引(默认为0)
      port: 6379 # Redis服务器连接端口
      password: # Redis服务器连接密码(默认为空)
      jedis:
        pool:
          max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
          max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
          max-idle: 8 # 连接池中的最大空闲连接
          min-idle: 0 # 连接池中的最小空闲连接
      timeout: 3000ms # 连接超时时间(毫秒)
    
    
    3.操作

    可用两种方式在项目里面操作redis。StringRedisTemplate和RedisTemplate。(StringRedisTemplate继承RedisTemplate)。
    使用:

    • 当你的redis数据库里面本来存的是字符串数据或者你要存取的数据就是字符串类型数据的时候,那么你就使用StringRedisTemplate即可。
    •    但是如果你的数据是复杂的对象类型,而取出的时候又不想做任何的数据转换,直接从Redis里面取出一个对象,那么使用RedisTemplate是更好的选择。

    RedisTemplate中定义了5种数据结构操作

    redisTemplate.opsForValue();  //操作字符串
    redisTemplate.opsForHash();   //操作hash
    redisTemplate.opsForList();   //操作list
    redisTemplate.opsForSet();   //操作set
    redisTemplate.opsForZSet();   //操作有序set
    

    StringRedisTemplate常用操作

    stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向redis里存入数据和设置缓存时间
    
    stringRedisTemplate.boundValueOps("test").increment(-1);//val做-1操作
    stringRedisTemplate.opsForValue().get("test")//根据key获取缓存中的val
    stringRedisTemplate.boundValueOps("test").increment(1);//val +1
    stringRedisTemplate.getExpire("test")//根据key获取过期时间
    stringRedisTemplate.getExpire("test",TimeUnit.SECONDS)//根据key获取过期时间并换算成指定单位
    stringRedisTemplate.delete("test");//根据key删除缓存
    stringRedisTemplate.hasKey("546545");//检查key是否存在,返回boolean值
    stringRedisTemplate.opsForSet().add("red_123", "1","2","3");//向指定key中存放set集合
    stringRedisTemplate.expire("red_123",1000 , TimeUnit.MILLISECONDS);//设置过期时间
    stringRedisTemplate.opsForSet().isMember("red_123", "1")//根据key查看集合中是否存在指定数据
    stringRedisTemplate.opsForSet().members("red_123");//根据key获取set集合
    
    4.操作实例

    NCEYOP.png
    NCENef.md.png

  • 相关阅读:
    编译nginx
    MVPN技术原理
    python中_, __, __foo__区别及使用场景
    https双向认证(python)
    http keepalive test code(python)
    压缩 KVM 的 qcow2 镜像文件
    nohup python程序,print无输出
    Less(51)
    Less(50)
    Less(49)
  • 原文地址:https://www.cnblogs.com/B-rabbit/p/13132064.html
Copyright © 2011-2022 走看看