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 12 Redis
浅谈redis缓存在项目中的使用
May 20 Redis
浅谈Redis中的RDB快照
Jun 29 Redis
redis不能访问本机真实ip地址的解决方案
Jul 07 Redis
Redis源码阅读:Redis字符串SDS详解
Jul 15 Redis
嵌入式Redis服务器在Spring Boot测试中的使用教程
Jul 21 Redis
CentOS8.4安装Redis6.2.6的详细过程
Nov 20 Redis
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
Mar 16 Redis
源码分析Redis中 set 和 sorted set 的使用方法
Mar 22 Redis
Redis特殊数据类型HyperLogLog基数统计算法讲解
Jun 01 Redis
Redis特殊数据类型Geospatial地理空间
Jun 01 Redis
Redis实战之Lettuce的使用技巧详解
Dec 24 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
PHP学习笔记之二 php入门知识
2011/01/12 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
Node.js实现数据推送
2016/04/14 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
Python Cookie 读取和保存方法
2018/12/28 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
大学生简历的个人自我评价
2013/12/04 职场文书
爱耳日活动总结
2014/04/30 职场文书
十佳家长事迹材料
2014/08/26 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
银行竞聘报告范文
2014/11/06 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
《西门豹》教学反思
2016/02/23 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
浅谈python数据类型及其操作
2021/05/25 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python