网站首页 > 技术文章 正文
引言
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
解压:tar -zvxf redis-3.0.7.tar.gz 将解压后的文件夹放到 /usr/local目录下
编译测试:接下来在终端中切换到/usr/local/redis目录下,输入:sudo make test
编译安装:在终端中输入命令:sudo make install
启动Redis,输入命令redis-server
看到这个界面表示我们已经成功的安装Redis。
二配置
在 /usr/local/redis目录下建立bin,etc,db三个目录
把/usr/local/redis/src目录下的mkreleasehdr.sh,redis-benchmark, redis-check-dump, redis-cli, redis-server拷贝到bin目录
在etc下,参考原/usr/local/redis目录下的redis.conf,新建一个redis.conf
修改redis.conf,具体如下:
#修改为守护模式
daemonize yes
#设置进程锁文件
pidfile /usr/local/redis/redis.pid
#端口
port 6379
#客户端超时时间
timeout 300
#日志级别
loglevel debug
#日志文件位置
logfile /usr/local/redis/log-redis.log
#设置数据库的数量,默认数据库为16,可以使用SELECT 命令在连接上指定数据库id
databases 16
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save
#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
#可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名
dbfilename dump.rdb
#指定本地数据库路径
dir /usr/local/redis/db/
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
#的数据会在一段时间内只存在于内存中
appendonly no
#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
保存后,启动redis:./bin/redis-server etc/redis.conf
查看日志文件:tail -f log-redis.log
到这里,我们已经完成redis安装和配置。
三其他
检查是否启动:redis-cli ping
redis-cli 跟上命令会将参数发送到本地redis 6379 的端口,下面来看看基本操作:
关闭命令:redis-cli shutdown
四.服务器配置
上面只是基本的安装,如果要用到生产环境,得配置一些文件
首先把redis-cli 移动到/usr/local/bin 目录,方便执行,和JAVA_HOME 类似
默认install 的时候已经有了
创建你存放配置文件和数据文件的目录
sudomkdir /etc/redissudo mkdir /var/redis
复制初始化脚本到/etc/init.d 目录,建议默认只有这个端口,作开机启动
$ sudocp utils/redis_init_script /etc/init.d/redis_6379
进入脚本,确保你的REDISPORT 是你正在使用的
sudovi /etc/init.d/redis_6379
复制redis.conf ,和脚本保持一致
sudocp redis.conf /etc/redis/6379.conf
创建一个存放工作数据的目录
sudomkdir /var/redis/6379
同时可以对redis.conf配置其他属性
总结
以 上就是我对Java开发大型互联网-Mac系统下安装分布式Redis数据库配置环境问题及其优化总结,分享给大家,觉得收获的话可以点个关注收藏转发一波喔,谢谢大佬们支持!
最后,每一位读到这里的网友,感谢你们能耐心地看完。希望在成为一名更优秀的Java程序员的道路上,我们可以一起学习、一起进步!都能赢取白富美,走向架构师的人生巅峰!
想了解学习Java方面的技术内容以及Java技术视频的内容可加群:722040762 验证码:头条(06 必过)欢迎大家的加入哟!
猜你喜欢
- 2024-10-01 Windows 系统下安装Java 22(统信系统下安装windows)
- 2024-10-01 Charles for Mac(HTTP协议抓包工具)v4.6.2b4注册激活版
- 2024-10-01 Mac安装Navicat(Mac安装anaconda)
- 2024-10-01 Mac中如何快速安装Jenkins(mac 安装jenkins)
- 2024-10-01 MacBook Java开发环境搭建记录(macbookair java开发)
- 2024-10-01 Mac 安装JDK 8、JDK 11、JDK 17 等多版本并存
- 2024-10-01 Mac Arm64 版本 java 11 SDK 提升SpringBoot 项目编译速度10秒 以上
- 2024-10-01 Mac通过Homebrew安装Python3(如何在mac上安装python 3.7版本)
- 2024-10-01 Mac安装多个版本JDK并实现灵活切换
- 2024-10-01 MacOS 系统中如何安装多个版本JDK并进行自由切换
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)