Web基础配置篇(六): Redis的安装配置及基本操作

一、概述

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

在JavaWeb开发中,我们通常使用redis做缓存,将数据库的查询结果暂存于redis中。

redis的数据类型包含(内容来自菜鸟教程):

我们这里讲解下yum源下redis如何安装,顺便说下主从模式的安装过程。然后讲下简单的使用命令。

首发地址: 品茗IT-首发

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

二、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

品茗IT-博客专题:https://www.pomit.cn/lecture.html汇总了Spring专题、Springboot专题、SpringCloud专题、web基础配置专题。

快速构建项目

Spring项目快速开发工具:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论SpringBoot使用吧!

redis cli 删除key 模糊_Web基础配置篇(六): Redis的安装配置及基本操作相关推荐

  1. redis cli 删除key 模糊_不同操作系统下,Redis的使用命令

    Redis在Linux下的使用命令 启动redis redis-server redis.conf 进入redis服务 redis-cli 连接redis服务器 redis-cli -h redis域 ...

  2. redis cli 删除key 模糊_redis 常用函数

    1.通用命令 keys: 计算所有的键 O(n) $redis->auth("admin"); //授权 dbsize: 数据库大小 $redis->info();// ...

  3. redis cli 删除key 模糊_Redis集群及雪崩

    redis分布式集群 上一篇 主从复制(哨兵),虽然主从能提升读的并发,但是单个master节点的容量是有限的,内存数据达到一定程度就会有瓶颈,无论多少套主从,master的容量都是最终的瓶颈.这个时 ...

  4. php redis批量删除key,redis批量删除某种规则的key

    一.前言 在工作中经常遇到需要批量删除某种规则的key的情况,如缓存的课程数据"course-课程uid",课程uid是变量,我们需要删除类似于"course-*&quo ...

  5. php redis删除所有key,php redis批量删除key的方法

    php redis批量删除key的方法,遍历,命令,前缀,数组,增量 php redis批量删除key的方法 易采站长站,站长之家为您整理了php redis批量删除key的方法的相关内容. php ...

  6. php redis 删除key 通配符,php中redis批量删除key的方法是什么

    php中redis批量删除key的方法是什么 发布时间:2020-08-28 14:42:05 来源:亿速云 阅读:159 作者:小新 小编给大家分享一下php中redis批量删除key的方法是什么, ...

  7. 集成redis,删除key报“srem“异常

    Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: ERR wrong number of arguments ...

  8. php redis 清空list_php redis批量删除key的方法

    php redis删除key的方法:首先使用scan命令增量迭代的方式遍历出以[XX]为前缀的key:然后通过unlink函数删除指定的key即可. php redis批量删除key 摘要 使用sca ...

  9. redis批量删除key命令

    1.cd到redis的src目录,要使用其中的文件redis-cli执行后续命令(也可能不需要这步) cd /home/useradmin/redis-5.0.3/src 2.redis批量删除key ...

最新文章

  1. Lazarus IOCP 移植
  2. 使用Samba服务器构建私有和公共共享目录
  3. dev layoutview 怎么显示大小_「转」磁盘满了,为啥du却显示还有很大空间?
  4. c++ vector 一部分_为什么现在的手机都采用Type-C接口?它到底好在哪里?看完你就明白了...
  5. linux命令 重定向%3e,linux输出信息调试信息重定向
  6. 表锁与行锁的区别以及适用情况
  7. 京东回应拖欠神州 3 亿多元货款;苹果考虑将第三方浏览器和邮件设为默认;PS 诞生 30 周年| 极客头条...
  8. 改动文件后缀的C语言实现
  9. xenserver 突破VID 2T限制
  10. 解决设置redmineblacklog的按钮无效问题
  11. jdbc——mysql学习
  12. MACD回零轴有三种方式
  13. [转载]三、二、一 …… Geronimo!,第 3 部分: 状态问题
  14. 【单片机毕业设计】【mcuclub-jj-051】基于单片机的书桌的设计
  15. 关于组长/leader的一些反省和自我批判
  16. 解决锐捷校园网环境下VMware虚拟机无法上网问题
  17. excel高级筛选怎么用_EXCEL/WPS高级筛选使用
  18. decision(decision是什么意思英语)
  19. c#中csc命令的用法
  20. 人工智能科普教材:小学阶段

热门文章

  1. MFC sendMessage消息使用说明
  2. Windows 不能上网怎么办
  3. 18考研感悟-大三考研狗一路的学习生活感悟
  4. Zookeeper详解---从入门到精通
  5. 软件开发方案设计文档ppt
  6. Auto.js食用指南
  7. 怎样创建淘宝鱼塘,怎样利用鱼塘拉新,怎样利用鱼塘管理好老客户?
  8. 汽车环视全国产化电子元件推荐方案
  9. 北大数学系毕业,放弃MIT offer,嫌月薪3万太多主动降薪…
  10. 做投标书需要注意的6点事项