Ubuntu安装Redis及使用

NoSQL简介

  • NoSQL,全名为Not Only SQL,指的是非关系型的数据库
  • 随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来

优点/缺点

  • 优点:

高可扩展性
分布式计算
低成本
架构的灵活性,半结构化数据
没有复杂的关系

  • 缺点:

没有标准化
有限的查询功能(到目前为止)
最终一致是不直观的程序

Redis安装

1.在线安装

直接输入命令

sudo apt-get install redis-server

安装完成后,Redis服务器会自动启动。
使用以下命令可以看到服务器系统进程默认端口6379

ps -aux|grep redis
redis      2890  0.2  0.1  41872  6064 ?        Ssl  14:17   0:07 /usr/bin/redis-server 127.0.0.1:6379     
hzlarm     3222  0.0  0.0  11324   780 pts/2    S+   15:02   0:00 grep --color=auto redis 

 使用命令可以看到redis端口状态

netstat -nlt|grep 6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN

使用命令可以看到Redis服务器状态

sudo /etc/init.d/redis-server status

 

2.下载安装包:
下载:打开redis官方网站,推荐下载稳定版本(stable)

wget http://download.redis.io/releases/redis-5.0.5.tar.gz

解压

tar xzf redis-5.0.5.tar.gz

复制:推荐放到usr/local目录下

sudo mv redis-5.0.5 /usr/local/redis

进入redis目录

 cd /usr/local/redis/

生成:

sudo make

若失败则使用

sudo make MALLOC=libc

后再sudo make
测试 sudo make test 这段运行时间会较长
安装:将redis的命令安装到/usr/bin/目录

sudo make install

运行 redis-server 按ctrl+c停止


Redis服务器基本配置

配置文件为/etc/redis/redis.conf(在线安装推荐)或者 /usr/local/redis/redis.conf(手动安装)

首先

sudo vi /etc/redis/redis.conf

添加Redis的访问账号
Redis服务器默认是不需要密码的,假设设置密码为hzlarm。
去掉requirepass 前面的注释#,在后面添加密码

requirepass hzlarm

开启Redis的远程连接
注释掉绑定地址

#bind 127.0.0.1

修改Redis的默认端口

port 6379

Redis以守护进程运行
如果以守护进程运行,则不会在命令行阻塞,类似于服务
如果以非守护进程运行,则当前终端被阻塞,无法使用
推荐改为yes,以守护进程运行

daemonize no|yes

Redis的数据文件

dbfilename dump.rdb

数据文件存储路径

dir /var/lib/redis

配置完成后重新启动服务器

sudo /etc/init.d/redis-server restart or
sudo service redis-server restart or
sudo redis-server /etc/redis/redis.conf

启动客户端

安装Redis服务器,会自动地一起安装Redis命令行客户端程序。命令行输入 redis-cli 如果设置了密码hzlarm 则输入:redis-cli -a hzlarm
常用命令: Redis命令不区分大小写
ping返回PONG表示畅通
help 命令行的帮助
quit 或者Ctrl+d或者Ctrl+c退出


发布订阅

  • 发布者不是计划发送消息给特定的接收者(订阅者),而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅
  • 订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑
  • 客户端发到频道的消息,将会被推送到所有订阅此频道的客户端
  • 客户端不需要主动去获取消息,只需要订阅频道,这个频道的内容就会被推送过来

消息的格式

  • 推送消息的格式包含三部分
  • 第一部分
  • :消息类型,包含三种类型

         subscribe,表示订阅成功

         unsubscribe,表示取消订阅成功
         message,表示其它终端发布消息

  • 如果第一部分的值为subscribe,则第二部分是频道,第三部分是现在订阅的频道的数量
  • 如果第一部分的值为unsubscribe,则第二部分是频道,第三部分是现在订阅的频道的数量,如果为0则表示当前没有订阅任何频道,当在Pub/Sub以外状态,客户端可以发出任何redis命令
  • 如果第一部分的值为message,则第二部分是来源频道的名称,第三部分是消息的内容

命令
订阅SUBSCRIBE 频道名称 [频道名称 ...]
取消订阅,如果不写参数,表示取消所有订阅UNSUBSCRIBE 频道名称 [频道名称 ...]
将信息发送到指定的频道。PUBLISH 频道 消息

主从配置

  • 一个master可以拥有多个slave,一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构
  • 比如,将ip为192.168.1.10的机器作为主服务器,将ip为192.168.1.11的机器作为从服务器

设置主服务器的配置

sudo vi /etc/redis/redis.conf

修改绑定ip

bind 192.168.1.10 

重启redis服务器

设置从服务器的配置

sudo vi /etc/redis/redis.conf

注意:在slaveof后面写主机ip,再写端口,而且端口必须写

bind 192.168.1.11
slaveof 192.168.1.10 6379

重启redis服务器

启动客户端

redis-cli -h修改后的ip

在master和slave分别执行info命令,查看输出信息
在master上写数据

set hello world

在slave上读数据

get hello

Redis安装 配置服务器 启动客户端 数据操作 发布订阅 主从配置 卸载Redis

卸载redis

sudo apt-get remove redis-server
sudo apt-get autoremove --purge redis-server

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值