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.1password: xxxxxxxport: 6379jedis:pool:max-active: 8max-wait: -1msmax-idle: 8min-idle: 0database: 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 {引入@AutowiredStringRedisTemplate 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:集群迁移的阈值。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLiteStudio安装指南

本博文源于笔者想要打开sqlite3的db文件&#xff0c;于是下载了SQLiteStudio&#xff0c;下载了它&#xff0c;sqlite3的文件随便查看&#xff0c;这里从零开始安装 文章目录 1、搜索官网网址2、开始下载3、开始安装4、开始使用5、总结 1、搜索官网网址 官网地址&#xff1a;…

C#基础——委托、Action和Func的使用

1、委托 委托&#xff08;Delegate&#xff09;是一种类型&#xff0c;可以用来表示对一个或多个方法的引用。委托提供了一种方便的方式来将方法作为参数传递给其他方法&#xff0c;或将方法存储在数据结构中以供以后调用。 不带参数且没返回值的委托 delegate void HDLDelega…

使用docker-compose管理docker服务

使用docker-compose管理docker服务 1&#xff0c;创建docker-compose.yml version: 3 services:javaapp:build: context: ./javaappdockerfile: Dockerfileports:- "9202:9202"- "19202:19202"goapp:build: context: ./goappdockerfile: Dockerfileports…

.netcore 控制台程序,在window操作系统中,怎么获取管理员权限运行此程序

在.NET Core控制台程序中设置管理员权限运行需要以下步骤&#xff1a; 在项目的app.manifest文件中指定管理员权限&#xff1a; <requestedExecutionLevel level"requireAdministrator" />将app.manifest文件设置为嵌入式资源 在程序中获取管理员权限&#…

acl过滤报文配置(hcia)

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

操作系统大会2023 | 麒麟信安根植openEuler社区,全场景·同生态·共未来

12月15-16日&#xff0c;以“崛起数字时代 引领数智未来”为主题的操作系统大会 &openEuler Summit 2023在北京举行。产业组织、开放原子开源基金会、学术领袖、行业用户、生态伙伴以及开发者等&#xff0c;共同探讨操作系统产业发展方向和未来机遇&#xff0c;展示最新合作…

SunTorque智能扭矩:扭矩衰减的原因以及如何减缓?

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 在汽车工业中&#xff0c;扭矩衰减是一个令人头痛的问题。它指的是随着车辆使用时间的增长&#xff0c;发动机输出的扭矩逐渐减少。这种现象不仅会影响车辆的动力性能&#xff0c;还会导致燃油经济性下降&#xff0c;甚…

SQL 是一种声明式语言吗?

在学习SQL的时候&#xff0c;我们经常听到这样的说法&#xff1a;SQL是一种声明性语言。你只需要告诉它做什么,不用告诉它怎么做&#xff0c;它就会找到自己的实现方法。也就是说&#xff0c;你只需要用它来描述任务目标&#xff0c;而不需要解释计算过程&#xff0c;这与传统的…

搅拌站智能上料系统,无人值守,均匀布撒!

搅拌站中的骨料上料系统&#xff0c;遇上最新的人工智能技术&#xff0c;会碰撞出怎样的新发展和新突破&#xff1f;今天和砼行们分享一个现场案例&#xff0c;这是思伟软件在某数字化搅拌站中的应用。 上料无人值守 后场上料配合无人地磅系统&#xff0c;仅需1名操作员在控制…

[网络安全]在win2000虚拟机上创建隐藏账户

目录 1.winR->cmd->regedt32 2.新建账号&#xff0c;例如HiddenAccount$($表示在命令行下不现实此用户&#xff09; 3.winR->cmd->regedit 3.将HiddenAccount$删掉 4.最后一步 手工创建隐藏账户 1.你需要一台win2000 2.winR->cmd->regedt32 增加HEY_LOAC…

使用 Docker 部署企业培训系统 PlayEdu

1&#xff09;PlayEdu 介绍 官网&#xff1a;https://www.playedu.xyz/ GitHub&#xff1a;https://github.com/PlayEdu/PlayEdu PlayEdu 是一款适用于搭建内部培训平台的开源系统&#xff0c;旨在为企业/机构打造自己品牌的内部培训平台。PlayEdu 基于 Java MySQL 开发&…

zookeeper安装和启动

镜像下载地址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 解压后将 conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg&#xff0c; 配置 admin.serverPort&#xff0c;防止跟 Tomcat 端口冲突 # 发送心跳的时间间隔 tickTime2000 # 集群中的follower服…

docker的应用和定义

Docker是一种开源的容器化平台&#xff0c;可以使用Docker容器来打包&#xff0c;分发和运行应用程序。它允许开发人员使用容器来将应用程序及其所有依赖项打包到一个可移植的容器中&#xff0c;使其可以在任何环境中运行&#xff0c;而不会受到环境差异或依赖问题的影响。 使…

python调取一欧易API并写一个比特币均线交易策略

比特币均线交易策略是一种基于比特币价格的移动均线的交易策略。它通过计算不同时间段的移动均线来确定买入和卖出点。 具体步骤如下&#xff1a; 确定要使用的均线。常用的均线包括5日、10日、20日、50日和200日均线。较短的均线可以更快地反应价格变动&#xff0c;而较长的均…

Android R修改wifi热点默认为隐藏热点以及禁止自动关闭热点

前言 Android R系统中WLAN 热点设置里面默认是没有wifi热点的隐藏设置选项的,如果默认wifi热点为隐藏热点可以修改代码实现。另外wifi热点设置选项里面有个自动关闭热点,这个选项默认是打开的,有些机器里面配置wifi热点后默认是需要关闭掉的,以免自动关闭后要手动打开。 …

实施之全网最最最详细安装系统,步骤清晰明了带图片(老毛桃ultraiso硬盘安装)

目录 一.老毛桃安装系统 1.1 制作启动U盘 1.2装机 二.ultraiso安装系统 2.1 制作启动U盘 2.2 装机 三、硬盘安装 一.老毛桃安装系统 1.1 制作启动U盘 1.1.1 准备 准备一个16G以上的U盘备份U盘重要文件&#xff0c;制作过程中会格式化U盘。本软件涉及对可移动磁盘的读写操作…

算法基础之欧拉函数

欧拉函数 核心思想&#xff1a;欧拉函数: 证明 &#xff1a;容斥原理 #include<iostream>#include<algorithm>using namespace std;const int N 110;int main(){int n;cin>>n;while(n--){int a;cin>>a;int res a;for(int i 2;i < a/i; i){if(a %…

Lammps错误:domain too large for neighbor bins

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩&#xff01; 主要专栏内容包括&#xff1a; †《LAMMPS小技巧》&#xff1a; ‾ \textbf…

智能优化算法应用:基于人工水母算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于人工水母算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于人工水母算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工水母算法4.实验参数设定5.算法结果6.…

uml网上选课系统 报告+mdl.zip

网上选课系统 一、实验目的 软件工程课程设计是软件工程专业一个综合性的实践教学环节&#xff0c;其目的在于促进学生复习和巩固计算机软件设计知识&#xff0c;加深对软件设计方法、软件设计技术和设计思想的理解&#xff0c;并能运用所学软件设计知识和面向对象技术进行综合…