Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。接下来我们将把Redis部署在Ubuntu上
获得Redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
参考文章:https://redis.io/topics/quickstart
准备Redis服务
创建两个文件夹,bin用于存放命令,etc拥有存放配置文件。
$ sudo mkdir -p /usr/local/redis/bin
$ sudo mkdir -p /usr/local/redis/etc
-p是递归创建。
接下来,将redis-2.8.19文件夹下的redis.conf复制到/usr/local/redis/etc/
并将src目录下的7个命令文件(绿色的),移动到/usr/local/redis/bin/
$ mv ./redis.conf /usr/local/redis/etc/
$ cd src
$ mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/
进入刚才安装redis的目录:
$ cd /usr/local/redis/bin
$ ls
mkreleasehdr.sh redis-check-aof redis-cli redis-server
redis-benchmark redis-check-dump redis-sentinel
之后我们启动redis服务。启动redis服务需要用到命令redis-server
6802:C 12 Nov 08:14:31.548 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6802:C 12 Nov 08:14:31.548 # Redis version=4.0.2, bits=64, commit=00000000, modified=0, pid=6802, just started
6802:C 12 Nov 08:14:31.548 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 4.0.2 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 6802
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
但是现在Redis是在前台启动的,我们接下来改成后台启动
···
$ sudo vi /usr/local/redis/etc/redis.conf
···
之后将daemonize由no改为yes。保存退出。之后我们再次使用配置文件启动redis-server。可以看到,redis是后台启动了,并且通过ps命令可以查看到redis正在运行。
$ sudo netstat -tunpl | grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 13154/./redis-serve
tcp6 0 0 :::6379 :::* LISTEN 13154/./redis-serve
客户端登陆
$ sudo /usr/local/redis/bin/redis-cli
127.0.0.1:6379>
关闭Redis服务
$ sudo pkill redis-server
$ sudo /usr/local/redis/bin/redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
not connected> exit
关闭之后,发现6379就不再被占用了,redis的进程也都没有了。客户登陆也无法成功了。
Redis的配置文件中有哪些配置呢?
daemonize 如果需要在后台运行,把该项改为yes
pidfile 配置多个pid的地址 默认在/var/run/redis.pid
bind 绑定ip,设置后只接受来自该ip的请求
port 监听端口,默认是6379
loglevel 分为4个等级:debug verbose notice warning
logfile 用于配置log文件地址
databases 设置数据库个数,默认使用的数据库为0
save 设置redis进行数据库镜像的频率。
rdbcompression 在进行镜像备份时,是否进行压缩
dbfilename 镜像备份文件的文件名
Dir 数据库镜像备份的文件放置路径
Slaveof 设置数据库为其他数据库的从数据库
Masterauth 主数据库连接需要的密码验证
Requriepass 设置 登陆时需要使用密码
Maxclients 限制同时使用的客户数量
Maxmemory 设置redis能够使用的最大内存
Appendonly 开启append only模式
Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
vm-swap-file 设置虚拟内存的交换文件路径
vm-max-memory 设置redis使用的最大物理内存大小
vm-page-size 设置虚拟内存的页大小
vm-pages 设置交换文件的总的page数量
vm-max-threads 设置VM IO同时使用的线程数量
Glueoutputbuf 把小的输出缓存存放在一起
hash-max-zipmap-entries 设置hash的临界值
Activerehashing 重新hash
参考文章:https://my.oschina.net/happyBKs/blog/387335
关于Redis的使用 http://www.winseliu.com/blog/2014/12/31/redis-operations/