默认是不是加的注释啊,这里写上lijie
requirepass lamplijie
我的lamplijie就是咱们的redis密码
保存退出,修改完配置文件以后咱们需要干嘛,咱们需要重启咱们的服务吧,
pkill redis-server
删除完以后来在,咱们启动,
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
启动完以后来看咱们的进入啊,
/usr/local/redis/bin/redis-cli
o(︶︿︶)o 唉同学们可能会奇怪,为什么能进来呢,我没有输入用户名密码吧,
这个时候我来输入下命令啊,看一下能不能运行,
keys *
(error) ERR operation not permitted
这个时候咱们就可以看到有一个操作被拒绝的错误提示,操作被禁止,也就是说咱们没有权限,
那这里咱们怎么办,他这里咱们有一个授权的方法,
咱们叫做 auth ,输入咱们的密码叫做lamplijie
auth lamplijie
OK
对吧,是咱们刚才设置的密码吧,那么好吧,咱们授权,授权这里会返回一个OK,
返回OK代表什么授权成功,授权成功以后我再keys
keys *
1) "name"
这个时候咱们是不是显示了啊,
命令是不是执行成功啊,这是不是咱们的一种授权方式吧,
如果我不想,每次进来都输入一次auth,那怎么办,咱们登录的时候就直接给他输入密码,
exit
咱们退出来
退出来以后咱们同样进入
/usr/local/redis/bin/redis-cli -a lamplijie
我后面跟上一个a指定咱们的密码,叫做lamplijie,
这里-a代表输入咱们的密码,进入以后我直接
keys *
1) "name"
是不是咱们不需要在授权了啊,也就是说咱们授权有两种方式,
一种方式是进来以后直接用auth命令授权,
另一种方式是直接登录授权,
这是咱们的两种授权方式啊,
这是咱们的安全性,接下来看一下咱们redis比较重要的一个功能,
主从复制
redis的主从复制配置和使用都非常简单。比咱们的mysql要简单很多,
通过主从复制呢,可以允许多个从服务器(slave server)拥有和主服务器(master server)
相同的数据库副本。
也就是说咱们的从服务器可以从咱们的主服务器把数据库复制过来,
这就达到了一个主从复制,
来看一下咱们的主从复制有什么样的特点,
Redis主从复制的特点:
1.Master可以拥有多个slave,首先从机一定要与咱们的主机相连吧,
2.多个slave可以链接同一个master外,还可以链接到其他的slave,还可以连接到其他的master
其他的slave
3.主从复制不会阻塞master,在同步数据是,master可以举行处理咱们的client的请求。
也就是说在咱们的master和咱们的slave同步数据的时候,他不影响我再往里面写数据,
那为什么其他的slave跟另一个slave相连呢,这个是为了什么啊,为了比如说,我当前这台master
突然有一天出现问题了,down掉了,那其他机器是不是就无法同步了呢,
为了避免这个现象出现,咱们在链接一个slave,当Master宕机以后咱们这个slave立马作为主机,
立马转换角色,变成主机,这是咱们的一个心跳感应,当这个主机断掉以后,这个立马变成主机,
好,这是咱们的一个主从复制的特点,还可以什么提高咱们系统的伸缩性,
来看,那个具体的一个过程呢,
比如说,一台主机,一台从机,
当我的主机想我的从机,请求同步命令的时候,
此时咱们的master主机会再开启一个后台进程,干嘛啊,把他当前的数据库,
备份到一个文件里面,这里这个时候再往里面进入的写的命令呢,
咱们也不影响,两个进程同时进行不影响,比如说这个时候又有插入了吧,
比如用sadd又往里面插入了一个键,都不影响,我这里还在执行插入,
这里在备份数据库,这里备份成功,以后,我将这个文件发送给咱们的slave,
发送完毕以后我slave把这个文件保存到咱们的硬盘上面,保存到自己的硬盘上以后干嘛,
启动的时候他会找这个文件,我把这个文件里面的数据库给映射到我本地的数据库,
这样就可以达到咱们的主从同步,主从复制同步吧,
Redis主从复制过程,
1.当Slave向咱们的master建立连接,发送sync同步请求命令。
2. Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程,会开始
收集新的写命令,并缓存。
两边是不影响的吧,
3.当后天保存这个文件成功以后,将此文件发送给咱们的slave从机
4.然后从机呢将此文件保存到硬盘上。
保存到硬盘上面是不是就拿到咱们主机的数据库啦,拿到主机的数据库后,咱们是不是就
可以同步成功了,这样就完成了咱们的主从复制,
那怎么样来配置呢,
配置主从服务器:
配置咱们从服务器很简单,只需要在从的配置文件中加入以下配置。
先把slaveof这个注释项目打开,然后填写咱们的主机ip地址,主机的端口,
如果说主机加了密码,
咱们需要打开咱们的masterauth主机授权,并且输入主机的口令,
关机一下,咱们把这台机器给他clone克隆一下,重命名下这个机器叫Redis_master
好关闭Redis_master成功
Redis_master右键---Manage---Clone...
下一步,。。。
克隆出来一台,咱们来给他重命名一下,叫做Redis_slave
Redis_slave呢,现在咱们把两台机器同时启动,
咱们一会儿来做呢,就以Redis_Master作为主机,
然后以Redis_slave来做从机,
主机呢,咱们不需要怎么配置,只需要在咱们的从机上面进行一个配置,
配置咱们的slaveof然后再配置咱们的masterauth 。
就可以进行主从复制,一会就来做一下看他启动成功了吗
好咱们的主从都已经启动成功了,
来首先看一下咱们的主,
linux登录
localhost login:root
Password:
先看一下咱们的ip地址,
ifconfig eth0
咱们主机的ip地址是192.168.88.89
再看一下咱们的slave
ifconfig eth0
因为我由于是刻录过来的,是咱们克隆过来的吧,
ip地址这里怎么编程172啦,
咱们修改一下啊,把他改成同一网段的,
ifconfig eth0 192.168.88.90
给他临时改一下,这个时候再来查看
已经修改成功,88.90
ping一下咱们的主机,看通不通,
ping 192.168.88.89
好这里有返回数据吧,表示已经连通了,
两台主机已经连通了,
连通以后,咱们的主机,先启动咱们的redis
/usr/local/redis/bin/redis-server /user/local/redis/etc/redis.conf
启动以后进入到咱们的客户端,
/usr/local/redis/bin/redis-cli
启动过redis客户端后,我看一下
keys *
(error) ERR operation not permitted
启动以后是不是需要授权,
auth lamplijie
OK
授权成功以后来
keys
1) "name"
是不是只有name对吧,
咱们把他都情况啊,
flushall
OK
flushall把所有的数据库都清空掉,为了咱们做实验啊,
keys *
(empty list or set)
我这里再keys是不是都没有了啊,
我这个时候来配置咱们的从机,Redis_slave,
注意咱们的第一步是,是不是配置咱们的配置文件,
vi /usr/local/redis/etc/redis.conf
第一步打开咱们的
/slaveof
找到了
slaveof的第一个参数是masterip主机ip,第二个参数是主机的端口,
好咱们复制一份儿,
slaveof 192.168.88.89 6379
是咱们的ip地址跟端口吧,注意这个88.89是咱们的主机的ip地址,
然后再找masterauth
masterauth lamplijie
保存退出,
好这个时候在启动,
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
启动以后咱们登录啊,
/usr/local/redis/bin/redis-cli -a lamplijie
是不是我得登录本地,得~
进来以后,我
keys *
(empty list or set)
然后再回到在主机那儿,往里面写,
set age 20
OK
keys *
1) "age"
是不是有一个age啦,有age以后咱们
get age
"20"
get age一下是不是20啊,
好再看咱们的从服务器
keys *
1) "age"
是不是有了age啦,代表咱们的从机和咱们的主机是不是同步成功啊,
get age
"20"
是不是20,是不是在主机设置的20。
也就是说此时此刻代表咱们的主从复制成功,
那有些同学会问,那这样子的情况下,我怎么知道谁是主,谁是从啊,
可以用info命令看咱们的,是查看服务器的相关命令,
这里有一个role角色,咱们当前角色是不是从啊,slave吧。
当前角色是从啊,
master_link_status什么意思
也就是说我链接主机的状态为正在连接,对吧已经连接成功吧,
再来看这个主机,咱们再来info一下,
slave0这个从机当前是在线的,
也就是说当前的Redis_slave正连接着咱们的master
这就是咱们完成了主从复制,非常非常简单吧,
大家需要知道两点,第一点需要在咱们的从机上面配置咱们的slaveof
并且这个ip地址是主机的Redis_master的ip地址,
第二点要配置咱们主机的授权口令,
如果说中间有一点没有配置成功,下面的主从复制,是不成功的,
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- Redis数据类型和常用命令
Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...
- 记录redis安装及常用命令
Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- 数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具
redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个 ...
- VMWare12安装CentOS7以及redis安装和常用命令
一.vmware安装centos7后没有网卡 VMWare 12版本不提供32位安装程序,只有64位安装程序,如果在安装CentOS时,选择的是CentOS而不是CentOS 64位,则会出现Cent ...
- redis数据类型及常用命令介绍(图文实例)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhgAAAFLCAYAAACUdvXUAAAgAElEQVR4nO3da1da58L2fT5KfPvc96 ...
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...
随机推荐
- JS学习笔记 -- 定时器,提示框的应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- c/c++面试总结(2)
4.深拷贝和浅拷贝 (1)什么时候会用到拷贝函数 一个对象以值传递的方式传入函数(就是作为入参) 一个对象以值传递的方式从函数返回(就是作为返回值) 一个对象需要通过另外一个对象进行初始化 (2)是否 ...
- qt QLabel 显示网络图片
在网上试了很多代码都不能使用,自己写了写代码. 直接上代码 Codevoid QMusicLogo::setNetworkPic(const QString &szUrl) { QUrl ur ...
- 在线生成ICO图标、站标
网上一搜有很多,找了两个比较好用的,分别是http://ico.storyren.com/和http://www.ico.la/,前面的那个好像更好点.上传png.jpg.或gif格式的图片,按自己需 ...
- 关于MD5加密的小知识
- (NSString *)MD5Hash { const char *cStr = [self UTF8String]; unsigned char result[16]; CC_MD5(cStr, ...
- CSS3/jQuery创意盒子动画菜单
作为前端开发者,各种各样的jQuery菜单见过不少,这款jQuery/CSS3菜单却是别具一格,菜单项嵌入到九宫格中,像小盒子一样,加上温馨的背景,菜单整体外观十分可爱.点击菜单项,盒子就会展开,展示 ...
- c语言结构体指针初始化
今天来讨论一下C中的内存管理. 记得上周在饭桌上和同事讨论C语言的崛起时,讲到了内存管理方面 我说所有指针使用前都必须初始化,结构体中的成员指针也是一样 有人反驳说,不是吧,以前做二叉树算法时,他的左 ...
- Redis源码研究--跳表
-------------6月29日-------------------- 简单看了下跳表这一数据结构,理解起来很真实,效率可以和红黑树相比.我就喜欢这样的. typedef struct zski ...
- LLVM language 参考手册(译)(2)
调用约定(Calling Conventions) LLVM functions, calls and invokes 可以带有一个可选的调用约定来指明调用方式.每一对 caller/callee(调 ...
- Spark菜鸟学习营Day1 从Java到RDD编程
Spark菜鸟学习营Day1 从Java到RDD编程 菜鸟训练营主要的目标是帮助大家从零开始,初步掌握Spark程序的开发. Spark的编程模型是一步一步发展过来的,今天主要带大家走一下这段路,让我 ...