Web基础配置篇(六): Redis的安装配置及基本操作
一、概述
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
在JavaWeb开发中,我们通常使用redis做缓存,将数据库的查询结果暂存于redis中。
redis的数据类型包含(内容来自菜鸟教程):
我们这里讲解下yum源下redis如何安装,顺便说下主从模式的安装过程。然后讲下简单的使用命令。
二、Redis安装
yum安装很简单,不需要自己make install了,我本人是很讨厌make了,好麻烦。。
windows就不说了,redis官方都没有下载地址,https://github.com/microsoftarchive/redis/releases,这里虽然有windows版本,但是已经遗弃了,最新版本只有3.2的。
2.1 安装
查看yum库中的redis:
yum search redis
如果没有,安装fedora的epel仓库:
yum install epel-release
重新search将会看到redis相关的软件,我们安装redis.x86_64
yum install redis.x86_64
2.2 查看版本
redis-cli --version
或者
redis-server --version
查看redis-cli还是redis-server版本一致的,因为是同时安装的。
2.3 启动
service redis start
2.4 重启
service redis restart
2.5 关闭
service redis stop
2.6 配置文件目录
/etc/redis.conf 文件是redis的默认配置文件。
2.7 命令行测试
输入:redis-cli
,进入redis的命令行模式下,就可以操作redis了。
在redis-cli命令行下测试:
设置test值:set test 1
获取test值:get test
2.8 改变监听地址
/etc/redis.conf中,配置redis默认监听127.0.0.1,这将导致无法在非本机机器上访问redis。因此需要改变这个配置
打开redis.conf文件:view redis.conf
定位bind:非编辑模式下,输入/bind
,搜索bind字符串位置,然后找到bind 127.0.0.1,改为bind 0.0.0.0,这样所有机器都能连接到redis。
三、redis主从集群配置
上面说了怎么安装redis,并改变redis的端口,如果我们想建主从模式集群,是很简单的。
比如安装上面的访问建了一个redis节点,我们当它是master(ip:172.17.0.2 端口:6379).
3.1 建slave
按照上面的访问,在一台新机器上建一个redis节点,比如机器为172.17.0.3 端口仍为6379.
同样的方式启动,使用redis-cli测试集群,即在redis-cli命令行下输入info replication:
可以看出,当前节点是孤立的。将172.17.0.3 节点改为slave:
- 修改/etc/redis.conf. 添加
slaveof 172.17.0.2 6379
; 将自己作为172.17.0.2的从节点。 - 重新启动
service redis restart
注意bind的ip是不是开放ip,如果是127.0.0.1,那两个节点是无法互通的。
如下面所示,分别是master和slave机器上在redis-cli命令行下输入info replication:
3.2 测试主从
3.2.1 测试主写从拿
在master的redis-cli命令行下输入:
set pomit test
get pomit
可以正常拿到值。
在slave的redis-cli命令行下输入:
get pomit
也可以正常拿到pomit值。
3.2.2 测试从写
在slave的redis-cli命令行下输入:
set pomitcn test
报错:(error) READONLY You can't write against a read only slave.
因为从节点一般是用来读的。
四、redis常用命令
redis的命令太多了,每种数据结构都有自己的命令,这里只说下普通字符串的操作,因为我们一般都不会去用命令行操作。
4.1 赋值操作
设置key1的值:set key1 value1
整型key自增:incr key1
整型key自减:decr key1
设置key1的过期时间(单位秒): EXPIRE key1 10
4.2 获取值操作
获取key1的值:get key1
判断key1是否存在:exists key1
查看所有key:keys *
或者scan 0
查看某个key:keys key1
获取key1键值的长度:strlen key1
4.3 更新值操作
更新key1的值:set key1 value2
4.4 删除值操作
删除key1:del key1
快速构建项目
Spring项目快速开发工具:
一键快速构建Spring项目工具
一键快速构建SpringBoot项目工具
一键快速构建SpringCloud项目工具
一站式Springboot项目生成
Mysql一键生成Mybatis注解Mapper
Spring组件化构建
SpringBoot组件化构建
SpringCloud服务化构建