Redis的安装
Redis安装部署:1.文件下载:
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
2.解压及安装
tar xzf redis-3.0.0.tar.gz
cd redis-3.0.0
make
make install
3.测试:
redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
4.启动redis:
# nohup redis-server&
28085
# netstat -tnlp|grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 28085/redis-server
tcp 0 0 :::6379 :::* LISTEN 28085/redis-server
5.停止redis:
# redis-cli shutdown
# netstat -tnlp|grep 6379
+Done nohup redis-server(wd: /tmp/redis-3.0.0)
(wd now: ~)
6.redis发送命令:
6.1参数方式发送命令:
# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> exit
# redis-cli ping
PONG
#
6.2交互模式发送命令:
# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> config set loglevel warning
OK
7.启动从数据库
# nohup redis-server --port 6380 --slaveof 127.0.0.1 6379 &
30683
##或在配置文件中加入: slaveof 主数据库IP主数据库端口,主数据库配置文件无须做任何调整
8.测试:
# redis-cli-p 6379
127.0.0.1:6379> set mytest1 aaaa
OK
127.0.0.1:6379> exit
# redis-cli-p 6380
127.0.0.1:6380> get mytest1
"aaaa"
9.redis其他命令说明:
127.0.0.1:6380> set mytest1 'BBBB'
(error) READONLY You can't write against a read only slave.
##默认从数据库是只读的,通过设置slave-read-only=no,可以使从数据库进行读写操作.
127.0.0.1:6380> slaveof 127.0.0.1 6379
OK Already connected to specified master
##在运行时,修改主数据库的配置,如果该数据库已经是其他的从数据库,则会停止与原来的数据同步,转而与新的数据库同步
127.0.0.1:6380> slaveof no one
OK
##使当前数据库停止接收其他数据库的同步,转而成为主数据库.
10.Redis 复制的特点和优势。
1)同一个Master可以同步多个Slaves。
2)Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。
3)Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
4)Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。
5)为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由Master来完成。即便如此,系统的伸缩性还是得到了很大的提高。
6)Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作,当主数据库崩溃,从数据库需要使用slaveof no one来提升为主数据库.
11.redis 复制的原理:
当启动一个Slave进程后,它会向Master发送一个SYNC Command,请求同步连接。
无论是第一次连接还是重新连接,Master都会启动一个后台进程,将数据快照保存到数据文件中,同时Master会记录所有修改数据的命令并缓存在数据文件中。
后台进程完成缓存操作后,Master就发送数据文件给Slave,Slave端将数据文件保存到硬盘上,然后将其在加载到内存中,接着Master就会所有修改数据的操作,将其发送给Slave端。
若Slave出现故障导致宕机,恢复正常后会自动重新连接,Master收到Slave的连接后,将其完整的数据文件发送给Slave
如果Mater同时收到多个Slave发来的同步请求,Master只会在后台启动一个进程保存数据文件,然后将其发送给所有的Slave,确保Slave正常。
12.redis的安全
12.1 bind:
默认情况下redis的配置是接受来自任何地址发送来的请求,若只允许指定地址连接,可以将bind参数修改为:
bind 192.168.1.100 10.0.0.1
12.2 验证密码:
通过配置文件中的requirepass为redis设置密码,如下:
requirepass foobared
# nohup redis-server ./redis.conf&
31277
# redis-cli
127.0.0.1:6379> set mytest 21
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth foobared
OK
127.0.0.1:6379> set mytest 21
OK
13.redis常用工具:
phpredisadmin:网页端管理工具
rdbtools:rdb快照文件解析器
页:
[1]