redis

简介: -

大部分企业可能还在使用redis4的版本,今年redis也迎来了6的版本更新,这次更新最大的改变应该就是支持了多线程,性能相较于上一代有大幅提升,

springboot+redis开发

redisconfig需要序列化redis的value和key等类型

序列化就是将对象包装成各种文件

反序列化就是将对象取出

java的序列化规则

1.静态资源不能序列化,因此static修饰的不能序列化,如果仍能反序列化,那是jvm的static对象,

static修饰的为类状态,序列号修饰的是对象状态

2.transient修饰的不能序列化,常在银行卡密码等处使用,防止反序列化

java的序列号版本

会自动根据类的改变生成,也可以自己定义

应用场景,微信的更新,如果自动生成序列号,那么每次更新都会强制执行,否则无法使用。但是自定义序列号,可以有老版本和新版本,不更新无法体验新功能,但是不影响使用。

window安装及使用

下载安装包安装

Redis地址: https://github.com/MicrosoftArchive/redis/releases

桌面管理可视化

RedisStudio地址: https://github.com/cinience/RedisStudio/releases

Another Redis Desktop Manager 下载地址:

Github:https://github.com/qishibo/AnotherRedisDesktopManager/releases

Gitee:https://gitee.com/qishibo/AnotherRedisDesktopManager/releases

修改conf文件的参数

举例:

设置密码--默认无密码,设置后执行redis的操作需要密码

常用命令

#启动服务

redis-server.exe --service-start

#终止服务

redis-server.exe --service-stop

#开启redis

redis-cli.exe -h ip地址 -p 端口


LINUX安装

https://blog.csdn.net/hello_list/article/details/123003445

gcc升级到gcc9.0

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

#scl命令启用只是临时的,新开的会话默认还是原gcc版本。


#如果要长期使用gcc 9.1的话执行下面的命令即可:

echo -e "

source /opt/rh/devtoolset-9/enable" >>/etc/profile

编译安装

#解压

tar -zxvf redis-6.0.3.tar.gz

#编译

cd redis-6.0.3/

make

make install PREFIX=/opt/app/redis6

 

#如果编译出错之后再编译可以先执行命令删除之前的编译文件

make distclean







#测试需要依赖tcl

yum install tcl -y

#测试

make test


#创建data文件夹保存数据

mkdir /opt/app/redis6/data

#赋值redis.conf到指定文件

cp /home/wyk/redis-6.0.3/redis.conf /opt/app/redis6/bin/

修改redis.conf

vim /opt/app/redis6/bin/redis.conf






#daemonize no 改为yes,开启后台运行,默认是前台运行

daemonize yes

 

#把这一行注释,监听所有IP

#bind 127.0.0.1

 

 

#protected-mode yes 如果改为no,则是关闭保护模式,这种模式下不能配置系统服务,建议还是开启

protected-mode yes

 

#requirpass,保护模式开启的时候要配置密码或者bind ip

requirepass 123456

 

#修改本参数,指定数据目录

dir /opt/app/redis6/data

 

#修改本参数,指定日志目录

logfile /opt/app/redis6/redis_6379.log




#启动redis

cd /opt/app/redis6/bin

./redis-server redis.conf




##注册服务

vim /lib/systemd/system/redis.service

[Unit]

Description=Redis

After=network.target

 

[Service]

Type=forking

PIDFile=/var/run/redis_6379.pid

ExecStart=/opt/app/redis6/bin/redis-server /opt/app/redis6/bin/redis.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target






systemctl命令:

# 重载服务

systemctl daemon-reload

# 开机自启

systemctl enable redis

# 启动

systemctl start redis

 

# 重启

systemctl restart redis    

 

# 停止

systemctl stop redis

# 查看状态

systemctl status redis

 

# 关闭开机启动

systemctl disable redis


可能遇到问题

已加载插件:fastestmirror, langpacks /var/run/yum.pid 已被锁定,PID 为 10001

该服务是离线更新,两种方法,

  • 永久禁用
  • 强制关闭yum

强制关闭

[root@ZY01 tom]# rm -rf /var/run/yum.pid


[root@ZY01 tom]# yum repolist

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.aliyun.com

* extras: mirrors.aliyun.com

* updates: mirrors.aliyun.com

源标识                              源名称                                状态

base/7/x86_64                       CentOS-7 - Base                       10,072

extras/7/x86_64                     CentOS-7 - Extras                        516

updates/7/x86_64                    CentOS-7 - Updates                     4,156

repolist: 14,744


Job for redis.service failed because the control process exited with error c

进度:安装完redis设置完redis.conf和注册服务redis.service,启动时出错

目录
相关文章
|
Arthas Dubbo Java
Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Alibaba Java诊断工具Arthas查看Dubbo动态代理类
330 0
|
安全 Java easyexcel
【二十七】springboot实现多线程事务处理
【二十七】springboot实现多线程事务处理
1032 0
|
2月前
|
存储 人工智能 自然语言处理
OpenSpec技术规范+实例应用
OpenSpec 是面向 AI 智能体的轻量级规范驱动开发框架,通过“提案-审查-实施-归档”工作流,解决 AI 编程中的需求偏移与不可预测性问题。它以机器可读的规范为“单一真相源”,将模糊提示转化为可落地的工程实践,助力开发者高效构建稳定、可审计的生产级系统,实现从“凭感觉聊天”到“按规范开发”的跃迁。
4760 20
|
4月前
|
easyexcel Java 数据库连接
如何实现百万级数据从 Excel 导入到数据库?
本文介绍百万级Excel数据导入数据库的优化方案,涵盖内存溢出、性能瓶颈与错误处理三大问题。通过EasyExcel流式读取避免内存溢出,结合多线程并发读取多个sheet,并利用生产者-消费者模式提升处理效率。采用批量插入与事务管理提高数据库写入性能,同时设计数据校验、重试机制与日志记录保障容错性,确保大规模数据导入稳定高效。
346 0
|
Ubuntu PHP 开发工具
ubuntu 使用命令行更换国内源
ubuntu 使用命令行更换国内源
3736 35
|
数据采集 人工智能 搜索推荐
|
网络协议 NoSQL Java
后端面试常见面试题
后端面试常见面试题
932 0
|
Web App开发 测试技术 iOS开发
Mac OS 安装Wget
有些时候,我们希望直接通过 wget 来下载文件。 Mac OS 可以通过以下几种方式安装 Wget: 1、使用 port 命令 sudo port install wget2、使用 brew 命令 sudo brew install wget3、使用浏览器下载一个Wget的源码包,http://www.
33240 0
|
消息中间件 运维 监控
Kafka两种集群详解和搭建教程
Kafka两种集群详解和搭建教程
6759 0
Kafka两种集群详解和搭建教程
|
消息中间件 缓存 NoSQL
GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版
不论是校招还是社招都避免不了各种面试。笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。

热门文章

最新文章