一、centos安装redis
1、确保系统安装了gcc(c语言的编译器)和tcl(redis的一些组件是使用tcl语言编写的)
使用yum安装:yum install gcc gcc-c++
2、命令安装redis:
wget http://download.redis.io/releases/redis-2.8.13.tar.gz
tar -zxvf redis-2.8.13.tar.gz
cd redis-2.8.13
make
ll src/redis* (在src目录中查看生成的二进制文件,有redis-cli和redis-server)
sudo make install (把生成的二进制文件放进 /usr/local/bin 目录下)
ll /usr/local/bin
which redis-server (看到redis-server文件放进了 /usr/local/bin 目录下)
redis-server --help (查看redis-server的所有命令)
mkdir /home/redis (创建redis启动文件的存放目录)
cp redis.conf /home/redis/redis.conf (把redis.conf原始启动文件复制到 自定义的文件夹)
whereis redis-cli
vim /home/redis/redis.conf (修改配置文件)
找到 daemonize no 把 no 改成 yes(设置redis守护进程的方式启动,即后台启动)
找到 port 改成自定义端口(例如: port 7200)
保存退出。
3、启动redis-server服务:
sudo /usr/local/bin/redis-server /home/redis/redis.conf
ps aux | grep redis-server (查看进程检查是否启动)
4、使用客户端操作redis
redis-cli --help(查看操作命令)
redis-cli -h 127.0.0.1 -p 7200 (127.0.0.1代表服务端ip,7200为端口)
进入客户端后 ,info命令查看redis信息,版本等
二、php安装redis扩展
1、用命令php -m 查看php安装了那些扩展,没有找到redis,则继续。。。
2、检查是否安装了phpize(编译configure必须的)和php-config(编译用到的) 。
用 which phpize 和 which php-config 命令检查,
未安装则 用yum install php-devel命令安装(包含了phpize和php-config的安装)。、
3、下载php安装扩展
命令:wget https://github.com/phpredis/phpredis/archive/develop.zip
unzip develop.zip
(ls看到生成了phpredis-develop文件夹)
cd phpredis-develop 进入文件夹
phpize
./configure --with-php-config=/usr/bin/php-config
make && make install(出现:Installing shared extensions: /usr/lib64/php/modules 表示成功!)
4、命令php --ini,查看ini文件的路径,进入文件php.ini ,在最后一行加上 extension=redis.so
5、命令php -m 查看是否有redis
三、Redis 设置密码登录(这里转自https://blog.youkuaiyun.com/crazy__qu/article/details/78738264)
redis在生产环境中通常都会设置密码以保证一定的安全性,简单记录一下如何在redis中设置客户端登录密码。如上图所示,加了-a参数之后即可正常连接并操作redis。
三、Redis 设置持久化
vim /home/redis/redis.conf (修改启动配置文件 redis.conf)
1、指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
2、指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
3、指定本地数据库存放目录dir ./
4、指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为noappendonly yes
5. 指定更新日志文件名,默认为appendonly.aof
appendfilename appendonly.aof
6. 指定更新日志条件,共有3个可选值:
no:表示等操作系统进行数据缓存同步到磁盘(快)
always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec