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
cp /usr/local/redis/utils/redis_init_script /etc/rc.d/init.d/redis
修改/etc/rc.d/init.d/redis文件:
在第二行增加:
#chkconfig: 2345 80 90
在$EXEC $CONF后面增加&
mkdir /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/6379.conf
3.测试:
redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
4.启动redis:
[root@myhost1 redis-3.0.0]# nohup redis-server &
[1] 28085
[root@myhost1 redis-3.0.0]# 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:
[root@myhost1 ~]# redis-cli shutdown
[root@myhost1 ~]# netstat -tnlp|grep 6379
[1]+ Done nohup redis-server (wd: /tmp/redis-3.0.0)
(wd now: ~)
6.redis发送命令:
6.1参数方式发送命令:
[root@myhost1 ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> exit
[root@myhost1 ~]# redis-cli ping
PONG
[root@myhost1 ~]#
6.2交互模式发送命令:
[root@myhost1 ~]# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> config set loglevel warning
OK
7.启动从数据库
[root@myhost1 ~]# nohup redis-server --port 6380 --slaveof 127.0.0.1 6379 &
[2] 30683
##或在配置文件中加入: slaveof 主数据库IP 主数据库端口,主数据库配置文件无须做任何调整
8.测试:
[root@myhost1 ~]# redis-cli -p 6379
127.0.0.1:6379> set mytest1 aaaa
OK
127.0.0.1:6379> exit
[root@myhost1 ~]# 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
##使当前数据库停止接收其他数据库的同步,转而成为主数据库.
192.168.16.77:6379> keys *
1) "mytest3"
2) "mytest4"
3) "mytest1"
4) "mytest2"
5) "mytest"
192.168.16.77:6379> ping
PONG
192.168.16.77:6379> dbsize
(integer) 5
192.168.16.77:6379> info
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
[root@myhost1 redis-3.0.0]# nohup redis-server ./redis.conf &
[3] 31277
[root@myhost1 redis-3.0.0]# 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快照文件解析器
转载于:https://blog.51cto.com/webseven/1637229
Redis的安装及原理介绍相关推荐
- Redis的安装配置与介绍(Windows版)
基本介绍 Redis 是完全开源的,是一个高性能的 key-value 数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保 ...
- Redis实战(一):Redis一键安装脚本,Redis 介绍及 NIO 原理介绍
Redis一键安装并启动的脚本(root用户) 试过用其他权限用户安装会出错,可能是因为命令中没有写 sudo 切换到root,直接执行即可. #!/bin/bash cd /usr/local/ & ...
- LVS原理介绍及安装过程
一.ARP技术概念介绍 为什么讲ARP技术,因为平常工作中有接触.还有就是LVS的dr模式是用到arp的技术和数据. 1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolutio ...
- Redis入门第一篇【介绍、安装】
tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...
- python2.7.5 怎么装redis_python中Redis的简要介绍以及Redis的安装,配置
简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存的非关系型数据库,他通过key:value的形式存储.有着多种数据结构,如字符串,列表,集合等. 通过Redis我们可以进行 ...
- Redis:安装、配置、操作和简单代码实例(C语言Client端)[转]
我转的地址: http://blog.csdn.net/hj19870806/article/details/8724907 听说游戏的用的比较多,所以了解下. --以下为转载内容 Redis是一个开 ...
- Redis数据库(一)——介绍、配置与优化
Redis数据库(一)--介绍.配置与优化 一.关系数据库与非关系型数据库 1.关系数据库 2.非关系型数据库 3.关系数据库与非关系型数据库区别(三个方向) 数据存储方式不同 扩展方式不同 对事务性 ...
- Redis集群的原理和搭建
Redis集群的原理和搭建 前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用.单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Re ...
- Redis(二)原理以及主从复制的实现
1.搭建实验环境 主机信息 IP 主机功能 server1 172.25.35.1 redis主服务器 server2 172.25.35.2 redis从服务器1 server3 172.25.35 ...
最新文章
- Python 字符串的所有方法详解
- C语言 —— 运算符的优先级
- k8s提交镜像到harbor仓库
- 提速 30%!腾讯TQUIC 网络传输协议
- jdba怎么连接mysql_一、JAVA通过JDBC连接mysql数据库(连接)
- Maven高级之archetype(原型/骨架)开发
- 面试要15K,HR说你只值10K,怎么斗得过?
- dwr 登录实现 (入门知识)
- WEB打印分页类(JS)
- Forrester《2021年应用安全现状报告》提要
- Julia: 调用Python 库
- nc加载不了java,用友NC系统使用过程中常见问题和解决方法
- 个人游戏程序开发总结
- C#操作Word(二)——将Word文档嵌入到WinForm窗体中
- 解决esp8266无法连接手机和电脑热点的问题
- 1197 山区建小学
- uni-app 动画
- 非常好的运算放大器基础
- linux安装Node.js 详细安装教程
- Excel计算傅里叶变化FFT
热门文章
- ios 平滑移动view_解决页面使用overflow: scroll在iOS上滑动卡顿的问题
- 织梦ajax加载文章列表,织梦dedecms首页列表页ajax点击下拉加载更多文章瀑布流效果...
- 天正坐标标注显示不全_高效率的天正CAD技巧,其实制图很简单!
- mysql 分组group
- flask response响应
- PyPA Creating Documentation
- XMLHttpRequestEventTarget
- psql sql语法
- MySQL Spatial Data Types
- C++ vector