SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行

一 导入redis包


        
            org.springframework.boot
            spring-boot-starter-data-redis
        

        
        
            org.apache.commons
            commons-pool2
            2.4.2
        

二 在spring.yml配置redis

 redis 部共有16个数据库,但经常默认会使用2,也可以改用其想用的库,数据库编号可以是1-16,即从1开始到16。

redis:
    host: 127.0.0.1
    password: xxxxxxx
    port: 6379
    jedis:
      pool:
        max-active: 8
        max-wait: -1ms
        max-idle: 8
        min-idle: 0
    database: 2

如图: 

SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行_第1张图片

三 在要使用的类注入,常用的操作及说明

  1 引入redis实例类
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;


@Service
public class RedisServiceImpl {

    引入
    @Autowired
    StringRedisTemplate stringRedisTemplate;



}
   2 redis保存和超时保存
//常用的保存
stringRedisTemplate.opsForValue().set(key, value);

//保存时间
stringRedisTemplate.opsForValue().set(key, value, second, TimeUnit.SECONDS);

 超时保存用得最频繁的就是登陆的token保存,超时保存支持时间TimeUnit单位如下图:

 3 redis获取单值,以xx开头的模糊批量获取值。



//常用的获取
stringRedisTemplate.opsForValue().get(key);

//模糊查找 t_chargePoleRelationGun:* 开头的
Set keys = stringRedisTemplate.keys("t_chargePoleRelationGun:*");
        List list = new ArrayList<>(keys.size());
        for (String key : keys) {
            String storedValue = stringRedisTemplate.opsForValue().get(key);
            ChargePoleRelationGun value = JSONObject.parseObject(storedValue, ChargePoleRelationGun.class);
            list.add(value);
        }



//模糊查找批量获取
    Set keys = stringRedisTemplate.keys("t_chargePoleRelationGun:*");
        if (keys.isEmpty()) {
            return Collections.emptyList();
        }

        List keyList = new ArrayList<>(keys);
        List values = stringRedisTemplate.opsForValue().multiGet(keyList);

批量获取multiGet 效率会比单个按key获取值更加高效。

四 客户端维护工具Another Redis Desktop Manager

本着免费开源好用的的思想,这里选择Another Redis Desktop Manager。

Another Redis Desktop Manager小巧,更快,更好,更稳定,而且兼容Linux,Windows,Mac。

项目开源地址:https://github.com/qishibo/AnotherRedisDesktopManager

 下载地址:https://github.com/qishibo/AnotherRedisDesktopManager/releases

SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行_第2张图片

   客户端基本统计信息SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行_第3张图片

关于redis的 key如果采用冒号时在客户端具有分类的美观的效果:

SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行_第4张图片

五 服务器安装redis

    1 centos安装redis:
yum install redis
   2 redis 安装完测试
redis-cli -h 127.0.0.1 -p 6379
  3 redis 常用配置

   默认配置文件路径:/etc/redis.conf

vi /etc/redis.conf

    配置远程ip访问,默认是本地访问,可以配置指定ip访问,注释时不限ip访问。 默认端口是6379,也可以改成其它端口。

SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行_第5张图片 默认不需密码访问,这里配置密码12345678

SpringBoot 集成redis及开发使用、redis客户端工具、redis服务器安装配置、redis启动运行_第6张图片

  4 redis 启动,停止,重启
# 启动
systemctl start redis

# 停止
systemctl stop redis

# 查看状态
systemctl status redis

# 重启
systemctl restart redis

 六 扩展资料-redis服务器配置项:

基本配置项
  • daemonize:是否以守护进程方式运行。
  • pidfile:守护进程的 PID 文件。
  • port:Redis 的端口号。
  • bind:指定 Redis 绑定的 IP 地址。
  • logfile:日志文件。
  • syslog:是否将日志输出到系统日志。
  • loglevel:日志级别。
  • databases:Redis 的数据库数量。
安全配置项
  • requirepass:设置 Redis 的密码。
  • masterauth:设置主节点的密码。
  • rename-command:重命名命令。
  • acl:设置访问控制列表(ACL)。
内存配置项
  • maxmemory:Redis 的内存限制。
  • maxmemory-policy:当内存使用超过限制时,如何处理。
  • maxmemory-samples:用于计算内存使用情况的样本数量。
数据库配置项
  • dbfilename:数据库文件名。
  • appendonly:是否开启 AOF 持久化。
  • appendfsync:AOF 持久化策略。
  • no-appendfsync-on-rewrite:是否在重写 AOF 文件时禁用 AOF 持久化。
  • auto-aof-rewrite-percentage:AOF 文件重写的百分比阈值。
  • auto-aof-rewrite-min-size:AOF 文件重写的最小尺寸。
  • slowlog-log-slower-than:记录慢查询的阈值。
  • slowlog-max-len:慢查询日志的最大长度。
命令配置项
  • command:设置命令的执行权限。
其他配置项
  • hash-max-ziplist-entries:哈希表中 ziplist 的最大元素数量。
  • hash-max-ziplist-value:哈希表中 ziplist 的最大值的长度。
  • list-max-ziplist-entries:列表中 ziplist 的最大元素数量。
  • list-max-ziplist-value:列表中 ziplist 的最大值的长度。
  • set-max-intset-entries:集合中 intset 的最大元素数量。
  • zset-max-ziplist-entries:有序集合中 ziplist 的最大元素数量。
  • zset-max-ziplist-value:有序集合中 ziplist 的最大值的长度。
  • activerehashing:是否开启重哈希。
  • client-output-buffer-limit:客户端输出缓冲区的大小限制。
  • hz:Redis 事件处理的频率。
  • tcp-keepalive:TCP 连接保活策略。
  • lua-time-limit:Lua 脚本的超时时间。
  • cluster-enabled:是否开启集群模式。
  • cluster-config-file:集群配置文件。
  • cluster-node-timeout:集群节点之间的超时时间。
  • cluster-slave-validity-check-interval:集群从节点的有效性检查间隔。
  • cluster-migration-barrier:集群迁移的阈值。

你可能感兴趣的:(spring,boot,redis,后端)