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

一 导入redis包

<!--redis数据库-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!--spring2.0集成redis所需common-pool2-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.4.2</version>
        </dependency>

二 在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

如图: 

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

  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<String> keys = stringRedisTemplate.keys("t_chargePoleRelationGun:*");
        List<ChargePoleRelationGun> 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<String> keys = stringRedisTemplate.keys("t_chargePoleRelationGun:*");
        if (keys.isEmpty()) {
            return Collections.emptyList();
        }

        List<String> keyList = new ArrayList<>(keys);
        List<String> 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

   客户端基本统计信息

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

五 服务器安装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,也可以改成其它端口。

 默认不需密码访问,这里配置密码12345678

  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:集群迁移的阈值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/261145.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Axure之交互样式事件动作及情形(详细案例分析)

目录 一.交互样式 1.1 交互样式的作用 1.2 案例 二.交互事件 2.1交互事件的作用 2.2 案例 2.3 独属事件 三.交互动作 3.1 案例 四.情形 4.1 以分数等级为例 4.1.2 案例 4.2 下拉列表的情形案例 五.案例 5.1 erp登录的跳转 5.2 erp的界面跳转 5.3 省市联动 5.4 滚动…

青少年CTF-qsnctf-Web-登陆试试

题目环境&#xff1a; 题目难度&#xff1a;★题目描述&#xff1a;Syclover用户忘了他的密码&#xff0c;咋办哦,依稀记得密码为6位数字,以774开头&#xff0c;这次我们来爆爆他的密码&#xff0c;让他再也不犯相同的错了 先不着急进行爆破 看看源码里面有没有其它有用的信息 …

用JVS低代码实现业务流程的撤回和重新开始

在当今的数字化时代&#xff0c;业务流程的效率和准确性对于企业的运营至关重要。在实际业务场景中&#xff0c;我们可能需要处理一些复杂的流程&#xff0c;例如申请审批流程、合同签订流程等。这些流程在执行过程中可能会遇到各种情况&#xff0c;例如某个审批步骤需要重新审…

BindingResult 穿越校验 合并统一异常拦截校验

问题场景&#xff1a; 项目前后端对接时&#xff0c;前端调用服务端接口进行入参校验时&#xff0c;服务器和浏览器需要进行双向校验。在统一传参对象时&#xff0c;需要对一些入参字段进行判空&#xff0c;判长度&#xff0c;格式校验 第一种方案可以直接在对象实体的字…

Windows11编译VTM源码生成Visual Studio 工程

VTM介绍 VTM作为H266/VVC标准的官方参考软件&#xff0c;一直用作H266/VVC标准的研究和迭代。关于H2666/VVC标准的介绍、代码、提案、文档等&#xff0c;可以参考H266/VVC编码标准介绍。 官方代码地址&#xff1a; https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM&…

补题与周总结:leetcode第 376 场周赛

文章目录 复盘与一周总结2967. 使数组成为等数数组的最小代价&#xff08;中位数贪心 回文数判断&#xff09;2968. 执行操作使频率分数最大&#xff08;中位数贪心 前缀和 滑窗&#xff09; 复盘与一周总结 wa穿了第3题&#xff0c;赛时其实想到了思路&#xff1a;中位数贪心…

用友U8+CRM help2 任意文件读取漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 help2接口处存在任意文件读取漏洞&#xff0c;攻击者通过漏洞可以获取到服…

acl过滤报文配置(hcia)

放火墙就是这样的 原理 问控制列表ACL&#xff08;Access Control List)是由一条或多条规则组成的集合。所谓规则&#xff0c;是 描述报文匹配条件的判断语句&#xff0c;这些条件可以是报文的源地址、目的地址、端口号等。 ACL本质上是一种报文过滤器&#xff0c;规则是过…

编写一个程序,提示用户输入大写字母,如果输入的不是大写字母,提示用户输入大写字母;如果是大写字母,使用嵌套循环以下面金字塔型的格式打印字母

代码如下: #include<stdio.h> int main(void) { char ch; int i,j; printf("请输入一个大写字母:"); scanf("%c", &ch); i ch - A 1; for (j 1; j < i; j) { //空格的循环 int space; for(spacei-j1; space >1; space--) { pr…

机器学习---随机森林

1、使用决策树来做回归或者预测值 如上图&#xff0c;使用学历、收入、身高、行业使用决策树来预测收到的邮件数。可以将邮件数分为几类&#xff08;也可以按照其他列&#xff0c;将邮件数分类&#xff09;&#xff0c;比如邮件数<23封属于A类&#xff0c;邮件数大于23<邮…

Linux/Windows IP | Team基础管理

引言 IP&#xff08;Internet Protocol&#xff09; 定义&#xff1a; IP&#xff08;Internet Protocol&#xff09;是网络传输数据的协议&#xff0c;负责在网络中唯一标识和定位设备&#xff0c;并提供数据传输的基础。功能&#xff1a; 允许计算机在网络上相互通信和交换…

pycharm下执行conda命令提示无法识别解决方案

1 问题描述 win10环境命令行执行conda命令&#xff0c;报命令无法识别&#xff0c;错误信息如下&#xff1a; PS D:\code\cv> conda activate pt conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&a…

算法专题三:二分算法

二分法 零.二分查找1.思路一&#xff1a;朴素二分 一.在排序数组中第一个和最后一个数&#xff1a;1.思路一&#xff1a;GIF题目解析 二.算法X的平方根&#xff1a;1.思路一&#xff1a;暴力哈希2.思路二&#xff1a;二分区间GIF题目解析 三.搜索插入位置&#xff1a;1.思路一&…

Centos 8.5 Oracle12c安装

由于多次安装踩坑&#xff0c;所以本次写了一份12c安装的完整版。可以直接使用。 一、安装数据库基本信息 名称 值 主机名 database 操作系统 CentOS Linux release 8.5.2111 Oracle用户名/密码 oracle Oracle 版本 12c Enterprise Edition Release 12.2.0.1.0 oracle…

Android开发——activity类中的回调方法中的7个生存期

1、onCreate() 这个方法在每个活动中都能进行重写&#xff0c;他会活动在第一次被创建的时候调用。在这个方法中完成活动的初始化操作&#xff0c;如&#xff1a;加载布局、绑定事件等 2、onStart() 这个方法在活动由不可见变为可见的时候调用 3、onResume() 这个方法在活动中准…

扭蛋机小程序搭建,“互联网+”下的发展优势

随着我国生活水平和消费能力不断提高&#xff0c;人们对各种潮流文化类的产品需求也快速上升。至此&#xff0c;我国潮流文化市场得到了快速发展&#xff01; 扭蛋机作为潮玩中的一种商业模式&#xff0c;深受不同年龄层用户的喜爱。并且扭蛋机的种类也是各式各样&#xff0c;…

大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透&#xff0c;实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…

Pooling方法总结(语音识别)

Pooling layer将变长的frame-level features转换为一个定长的向量。 1. Statistics Pooling 链接&#xff1a;http://danielpovey.com/files/2017_interspeech_embeddings.pdf The default pooling method for x-vector is statistics pooling. The statistics pooling laye…

[学习笔记]SQL Server中批量查找所有符合Where条件的记录

目标&#xff1a;在SQL Server中查找所有表的UserId 50的记录 创建一个表变量来存储所有包含’UserId’列的表的名称。然后使用一个游标遍历这些表&#xff0c;并对每个表执行一个动态SQL查询 DECLARE TableName nvarchar(256), ColumnName nvarchar(128), SearchStr2 nvarc…

【笔记】左偏树

左偏树详解 算法进阶课整理CSDN个人主页&#xff1a;更好的阅读体验左偏树功能简介定义与一些性质核心操作&#xff1a;合并算法流程时间复杂度代码 其他的操作插入算法流程时间复杂度 O ( log ⁡ n ) O(\log n) O(logn) 找最值算法流程时间复杂度 O ( 1 ) O(1) O(1) 删除最值…