5分钟教你docker安装启动redis全教程(全新方式)


Posted in Redis onMay 29, 2021

什么是redis

    根据百度百科介绍,Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、是一个高性能(NOSQL)Key-Value数据库,并提供多种语言的API,redis也是完全开源免费的,遵守BSD协议。

什么又是NOSQL

    NOSQL,泛指非关系型的数据库,提到非关系型的数据库,我们就来简单讲讲关系型数据库,关系型数据库,大家都知道的oracle,mysql,postgre等都是关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库,表与表之间使用主外键,建立关联关系,1对1,1对多,多对多等,用户通过SQL查询来检索数据库中的数据,而NOSQL,即Not Only SQL它是关系型数据库的一种良好补充。

为什么我们要使用redis

    大家都知道,关系型数据库的数据都是存储在硬盘中,例如微博这样的网站,每秒上万次的访问需求,甚至十几万次的访问需求,对硬盘io的读写要求是极高的,普通的数据库是难以应付的,在这样超大规模和高并发的场景下,出现了NOSQL的产品,redis,大家都知道redis,是把数据存储在内存中,省去了硬盘io读写时间,对海量数据的高效率存储和访问需求,效率也就大大的提高了,每个大厂几乎都在使用。

redis的优缺点

    优点就是,数据对存储在内存中,省去了硬盘io读写操作,大大提升了网站的访问效率,以key-value形式存储,可以达到快速查询,缺点就是比关系型数据库的存储类型少,当服务器关机后,内存释放后,数据都会消失,就需要我们手动,定期将数据同步到硬盘中。

    下面我们就动手安装吧。

安装redis 从docker仓库中拉取镜像

# docker pull redis

    出现下边的信息,说明拉取镜像成功

Using default tag: latest
latest: Pulling from library/redis
54fec2fa59d0: Already exists
9c94e11103d9: Pull complete
04ab1bfc453f: Pull complete
a22fde870392: Pull complete
def16cac9f02: Pull complete
1604f5999542: Pull complete
Digest: sha256:f7ee67d8d9050357a6ea362e2a7e8b65a6823d9b612bc430d057416788ef6df9
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

确认镜像信息

# docker images

    确认redis镜像信息,本文在写的时候,redis在9天前发布了6.0版本,正好试用下。

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis                          latest              f9b990972689        9 days ago          104MB
mysql                        latest              a7a67c95e831        13 days ago         541MB

创建redis配置文件所需目录以及配置文件

# mkdir -p /mydata/redis/conf

# cd /mydata/redis/conf

# touch redis.conf

配置redis持久化(由于redis默认是将数据保存在内存中,redis重启后,数据会消失,这里的配置是将数据同步到磁盘中)

# vi redis.conf

添加appendonly yes

退出并保存

启动redis

# docker run --name myredis  -p 6379:6379 -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --requirepass "123456"

--name就是给redis实例起个名字

-d就是后台运行

-p将docker的6379端口映射到linux服务器6379端口上

--requirepass就是给redis设定一个密码

启动完成后,看是否启动成功

# docker ps -a

    出现下边信息,尤其是STATUS是UP的状态,说明启动成功

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
72bae285e236        redis               "docker-entrypoint.s…"   35 seconds ago      Up 33 seconds       0.0.0.0:6379->6379/tcp   myredis

使用redis-cli操作redis

#  docker exec -it myredis redis-cli -a 123456

-a 就是使用我们在安装时设置的密码

    出现下边命令行,说明我们就可以操作redis,当然windows也有操作redis客户端的工具,更加直观,看个人习惯用什么吧

127.0.0.1:6379>

简单的操作redis

127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set name iosoft2020
OK
127.0.0.1:6379>
127.0.0.1:6379> get name
"iosoft2020"
127.0.0.1:6379>
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379>
127.0.0.1:6379>

    到这里,安装完成,使用过传统安装redis的小伙伴会深有体会,从官网下载安装包,解压,编译,启动等,非常的麻烦,费时间,使用docker安装redis非常简单吧,大家可以动手试一试。

以上就是5分钟教你docker安装redis到启动教程(全新方式)的详细内容,更多关于docker安装redis的资料请关注三水点靠木其它相关文章!

Redis 相关文章推荐
redis限流的实际应用
Apr 24 Redis
redis内存空间效率问题的深入探究
May 17 Redis
5分钟教你docker安装启动redis全教程(全新方式)
May 29 Redis
redis客户端实现高可用读写分离的方式详解
Jul 04 Redis
Redis之RedisTemplate配置方式(序列和反序列化)
Mar 13 Redis
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
Mar 16 Redis
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
Mar 16 Redis
解决redis批量删除key值的问题
Mar 23 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 Redis
浅谈Redis 中的过期删除策略和内存淘汰机制
Apr 03 Redis
Redis keys命令的具体使用
Jun 05 Redis
关于Redis的主从复制及哨兵问题
Jun 16 Redis
详解缓存穿透击穿雪崩解决方案
浅谈Redis的几个过期策略
May 27 #Redis
Redis Cluster 字段模糊匹配及删除
May 27 #Redis
redis哨兵常用命令和监控示例详解
May 27 #Redis
Java Socket实现Redis客户端的详细说明
May 26 #Redis
redis实现共同好友的思路详解
详解Redis瘦身指南
May 26 #Redis
You might like
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
vue中mint-ui的使用方法
2018/04/04 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
Python基于DES算法加密解密实例
2015/06/03 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
python脚本第一行如何写
2020/08/30 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
英国工具中心:UK Tool Centre
2017/07/10 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
应届生求职推荐信
2013/10/28 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
农村党员一句话承诺
2014/05/30 职场文书
运动会口号8字
2014/06/07 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
MySQL添加索引特点及优化问题
2022/07/23 MySQL