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遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 Redis
Redis持久化与主从复制的实践
Apr 27 Redis
Redis 彻底禁用RDB持久化操作
Jul 09 Redis
Redis做数据持久化的解决方案及底层原理
Jul 15 Redis
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
Feb 12 Redis
分布式架构Redis中有哪些数据结构及底层实现原理
Mar 13 Redis
Redis高可用集群redis-cluster详解
Mar 20 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 Redis
Redis实现主从复制方式(Master&Slave)
Jun 21 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 include和require的区别深入解析
2013/06/17 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
php中使用websocket详解
2016/09/23 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
对Python3中的input函数详解
2018/04/22 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
大专生工程监理求职信
2013/10/04 职场文书
学生保证书范文
2014/04/28 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
迎国庆演讲稿
2014/09/15 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
个人批评与自我批评
2014/10/15 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
汽车销售合同文本
2019/08/08 职场文书