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高级数据类型Hyperloglog、Bitmap的使用
May 24 Redis
Redis 常见使用场景
Aug 30 Redis
基于Redis的List实现特价商品列表功能
Aug 30 Redis
Redis高并发防止秒杀超卖实战源码解决方案
Nov 01 Redis
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
Mar 16 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
一文搞懂Redis中String数据类型
Apr 03 Redis
Redis如何实现验证码发送 以及限制每日发送次数
Apr 18 Redis
Redis基本数据类型Set常用操作命令
Jun 01 Redis
Redis sentinel哨兵集群的实现步骤
Jul 15 Redis
基于redis+lua进行限流的方法
Jul 23 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编程每天必学之验证码
2016/03/03 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
IE与firefox之jquery用法区别
2008/10/03 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
Python学习笔记(二)基础语法
2014/06/06 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python中一行和多行import模块问题
2018/04/01 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
python_mask_array的用法
2020/02/18 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
露营世界:Camping World
2017/02/02 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
毕业生就业自荐书
2013/12/15 职场文书
上级检查欢迎词
2014/01/18 职场文书
大学生就业意向书范文
2014/04/01 职场文书
2015年教师节感言
2015/08/03 职场文书
工作简历的自我评价
2019/05/16 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
MySQL创建定时任务
2022/01/22 MySQL
Java数据结构之堆(优先队列)
2022/05/20 Java/Android