设为首页 收藏本站
查看: 985|回复: 0

[经验分享] Redis实战(9)高级特性(1)安全与主从复制

[复制链接]

尚未签到

发表于 2018-11-7 09:38:51 | 显示全部楼层 |阅读模式
  一、安全性
  设置客户端连接后进行任何其他指定前需要使用的密码。
  下面我们做一个实验,说明 redis 的安全性是如何实现的,设置口令为beijing
#修改redis.conf配置文件如下  
requirepass beijing
  指定配置文件启动redis服务,然后我们启动一个客户端测试一下:
DSC0000.png

  说明权限太小,我们可以当前的这个窗口中设置口令
DSC0001.png

  我们还可以在连接到服务器期间就指定一个口令,如下:
DSC0002.png

  可以看到我们在连接的时候就可以指定一个口令。
  二、主从复制
  redis 主从复制配置和使用都非常简单。通过主从复制可以允许多个 slave server 拥有和
  master server 相同的数据库副本。
  redis 主从复制特点:
  (1)、master 可以拥有多个 slave
  (2)、多个 slave 可以连接同一个 master 外,还可以连接到其他 slave
  (3)、主从复制不会阻塞 master,在同步数据时,master 可以继续处理 client 请求
  (4)、提高系统的伸缩性
  当配置好 slave 后,slave 与 master 建立连接,然后发送 sync 命令。无论是第一次连接还是
  重新连接,master 都会启动一个后台进程,将数据库快照保存到文件中,同时 master 主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master 就发送文件给 slave,
  slave将文件保存到硬盘上,再加载到内存中,接着 master 就会把缓存的命令转发给 slave,后续
  master 将收到的写命令发送给 slave。如果 master 同时收到多个 slave 发来的同步连接命令,
  master 只会启动一个进程来写数据库镜像,然后发送给所有的 slave。
  如何配置:
  下面我们做一个实验来演示如何搭建一个主从环境:
  把redis.conf复制一下为redis.slave.conf
  修改redis.slave.conf:
#从库采用的端口  
port 6378
  
#指定 master 的 ip 和端口
  
slaveof 127.0.0.1 6379
  启动主库服务:
src/redis-server redis.conf  启动从库服务:
src/redis-server redis.slave.conf  我们在主库上设置一对键值对
  进入主库
src/redis-cli -p 6379
DSC0003.png

  在从库上取一下这个键
DSC0004.png

  那么我们如何判断哪个是主哪个是从呢?我们只需调用 info 这个命令就可以得到主从的信息
  了,我们在从库上执行 info 命令
# Server  
redis_version:2.8.2
  
redis_git_sha1:00000000
  
redis_git_dirty:0
  
redis_build_id:9f7a4dc70b6a0d35
  
redis_mode:standalone
  
os:Linux 3.2.0-55-generic x86_64
  
arch_bits:64
  
multiplexing_api:epoll
  
gcc_version:4.6.3
  
process_id:5484
  
run_id:94b25c75331e2e2b249b98155a9dc6bfeb583af2
  
tcp_port:6378
  
uptime_in_seconds:1031
  
uptime_in_days:0
  
hz:10
  
lru_clock:254873
  
config_file:/home/jane/soft/redis-2.8.2/redis.slave.conf
  
# Clients
  
connected_clients:2
  
client_longest_output_list:0
  
client_biggest_input_buf:0
  
blocked_clients:0
  
# Memory
  
used_memory:829440
  
used_memory_human:810.00K
  
used_memory_rss:2179072
  
used_memory_peak:829544
  
used_memory_peak_human:810.10K
  
used_memory_lua:33792
  
mem_fragmentation_ratio:2.63
  
mem_allocator:jemalloc-3.2.0
  
# Persistence
  
loading:0
  
rdb_changes_since_last_save:0
  
rdb_bgsave_in_progress:0
  
rdb_last_save_time:1386668924
  
rdb_last_bgsave_status:ok
  
rdb_last_bgsave_time_sec:0
  
rdb_current_bgsave_time_sec:-1
  
aof_enabled:0
  
aof_rewrite_in_progress:0
  
aof_rewrite_scheduled:0
  
aof_last_rewrite_time_sec:-1
  
aof_current_rewrite_time_sec:-1
  
aof_last_bgrewrite_status:ok
  
# Stats
  
total_connections_received:3
  
total_commands_processed:113
  
instantaneous_ops_per_sec:0
  
rejected_connections:0
  
sync_full:0
  
sync_partial_ok:0
  
sync_partial_err:0
  
expired_keys:0
  
evicted_keys:0
  
keyspace_hits:4
  
keyspace_misses:1
  
pubsub_channels:0
  
pubsub_patterns:0
  
latest_fork_usec:227
  
# Replication
  
role:slave
  
master_host:127.0.0.1
  
master_port:6379
  
master_link_status:up
  
master_last_io_seconds_ago:1
  
master_sync_in_progress:0
  
slave_repl_offset:1559
  
slave_priority:100
  
slave_read_only:1
  
connected_slaves:0
  
master_repl_offset:0
  
repl_backlog_active:0
  
repl_backlog_size:1048576
  
repl_backlog_first_byte_offset:0
  
repl_backlog_histlen:0
  
# CPU
  
used_cpu_sys:0.09
  
used_cpu_user:0.16
  
used_cpu_sys_children:0.00
  
used_cpu_user_children:0.00
  
# Keyspace
  
db0:keys=2,expires=0,avg_ttl=0
  里面有一个角色标识role,来判断是主库还是从库,对于本例是一个从库。
  role:master 主库
  role:slave    从库
  同时还有一个master_link_status 用于标明主从是否异步,
  如果此值=up,说明同步正常;
  如果此值=down,说明同步异步;
  db0:keys=2,expires=0, 用于说明数据库有几个 key,以及过期 key 的数量。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-631804-1-1.html 上篇帖子: Redis实战(8)键值和服务器命令 下篇帖子: Redis实战(10)高级特性(2)事务与乐观锁
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表