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

posted @ 2020-06-15 17:13  会飞的大野鸡  阅读(342)  评论(0编辑  收藏  举报