精华内容
下载资源
问答
  • 存放redis的软件
    2019-11-29 16:15:13

    一、实验环境

    二、安装Redis

    ls
    redis-4.0.9.tar.gz
    #解压Redis
    tar xf redis-4.0.9.tar.gz
    #进入解压目录
    cd redis-4.0.9
    #执行编译
     make
     #出现这样的错误
      zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
      #解决错误,执行下面的编译命令
      make MALLOC=libc
      #安装Redis
      make PREFIX=/usr/local/redis install
      #做命令软连接
      ln -s /usr/local/redis/bin/* /usr/local/bin/
    

    • 启动Redis
    redis-4.0.9/utils/install_server.sh    #启动Redis,在解压目录下的utils下的install_server.sh
    
    Welcome to the redis service installer
    This script will help you easily set up a running redis server
    
    Please select the redis port for this instance: [6379]    #是否使用6379端口
    Selecting default: 6379
    Please select the redis config file name [/etc/redis/6379.conf]    #是否使用此配置文件
    Selected default - /etc/redis/6379.conf 
    Please select the redis log file name [/var/log/redis_6379.log]  #是否使用此log文件
    Selected default - /var/log/redis_6379.log
    Please select the data directory for this instance [/var/lib/redis/6379]    #是否使用此存放文件
    Selected default - /var/lib/redis/6379
    Please select the redis executable path [/usr/local/bin/redis-server]   
    Selected config:
    Port           : 6379
    Config file    : /etc/redis/6379.conf
    Log file       : /var/log/redis_6379.log
    Data dir       : /var/lib/redis/6379
    Executable     : /usr/local/bin/redis-server
    Cli Executable : /usr/local/bin/redis-cli
    Is this ok? Then press ENTER to go on or Ctrl-C to abort.
    Copied /tmp/6379.conf => /etc/init.d/redis_6379
    Installing service...
    Successfully added to chkconfig!
    Successfully added to runlevels 345!
    Starting Redis server...
    Installation successful!
    

    三、修改配置

    • 修改Redis配置文件
    vim /etc/redis/6379.conf
    
    #注释掉bind ,Redis中bind选项默认监听所有网卡
    protected-mode no    #关闭保护项
    port 6379
    daemonize yes    #以独立进程启动
    cluster-enabled yes  #打开集群
    cluster-config-file nodes-6379.conf   #集群配置文件名称设置
    cluster-node-timeout 5000  #集群超时时间设置
    appendonly yes  #开启aof持久化
    
    • 重启服务
     /etc/init.d/redis_6379 restart
    Stopping ...
    Redis stopped
    Starting Redis server...
    
    #目录下多出两个文件, 一 个 是持 久 化
    appendonly.aof 文件,另外一个是节点首次启动生成的 nodes-6379.conf 配置文件。
    
     cd /var/lib/redis/6379/
    [root@serverC 6379]# ls
    appendonly.aof  dump.rdb  nodes-6379.conf
    
    更多相关内容
  • Redis课件.docx

    2020-08-27 17:07:09
    Redis基本学习过程课件,可以快速入门redis知识。Remote Dictionary Server(远程字典服务器),是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库.也是当前热门的NoSQL数据库之一。
  • Redis学习自用word

    2021-03-13 09:06:24
    自用保存
  • java调用redis工具类jedis
  • RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持)...

     一、RedisInsight 简介

    RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持):

    https://docs.redis.com/latest/ri/

    RedisInsight 提供的功能:

    • 唯一支持 Redis Cluster 的 GUI 工具;
    • 可以基于 Browser 的界面来进行搜索键、查看和编辑数据;
    • 支持基于 SSL/TLS 的连接,同时还可以在界面上进行内存分析;

    二、RedisInsight 安装与使用

    1.物理安装

    1)下载 RedisInsight 软件包:

    https://redis.com/redis-enterprise/redis-insight/#insight-form

    [root@Redis ~]# ls
    anaconda-ks.cfg  redisinsight-linux64-1.11.0
    [root@Redis ~]# mkdir /usr/local/redisinsight
    [root@Redis ~]# mv redisinsight-linux64-1.11.0 /usr/local/redisinsight/redisinsight-1.11.0
    [root@Redis ~]# chmod +x /usr/local/redisinsight/redisinsight-1.11.0
    

    2)配置 RedisInsight 的环境变量

    [root@Redis ~]# echo "export REDISINSIGHT_HOST=192.168.1.1" >> ~/.bash_profile
    [root@Redis ~]# echo "export REDISINSIGHT_HOST_DIR=/usr/local/redisinsight/.redisinsight" >> ~/.bash_profile
    [root@Redis ~]# source ~/.bash_profile
    

    注解:

    • REDISINSIGHT_PORT:配置 RedisInsight 的监听端口(default:8001)
    • REDISINSIGHT_HOST:配置 RedisInsight 的 IP 地址(default:0.0.0.0)
    • LOG_DIR:配置 RedisInsight 的日志存放路径(default:REDISINSIGHT_HOST_DIR)
    • REDISINSIGHT_HOST_DIR:配置 RedisInsight 的数据存放路径(default:~/.redisinsight)

    3)启动 RedisInsight 服务

    [root@Redis ~]# nohup /usr/local/redisinsight/redisinsight-linux64-1.4.0 &  // 后台运行
    [root@Redis ~]# ps aux | grep redis            // 查看进程是否存在
    

    2.Kubernetes 安装

    1)创建 RedisInsight 的 yaml 文件:

    [root@Redis ~]# vim redisinsight.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: redisinsight-service
    spec:
      type: NodePort
      ports:
      - port: 80
        targetPort: 8001
        nodePort: 31888
      selector:
        app: redisinsight
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: redisinsight
      labels:
        app: redisinsight
    spec:
      replicas: 1
      selector:
        matachLabels:
          app: redisinsight
      template:
        metadata:
          labels:
            app: redisinsight
        spec:
          containers:
          - name: redisinsight
            image: redislabs/redisinsight:1.7.0
            imagePullPolicy: IfNotPresent
            volumeMounts:
            - name: db
              mountPath: /db
            ports:
            - containerPort: 8001
              protocol: TCP
          volumes:
          - name: db
            emptyDir: {}
    

    2)启动 RedisInsight

    [root@Redis ~]# kubectl apply -f redisinsight.yaml
    

    3.RedisInsight 基本使用

    安装 Redis(已安装可直接跳过)

    [root@Redis ~]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
    [root@Redis ~]# tar zxf redis-6.2.6.tar.gz
    [root@Redis ~]# cd redis-6.2.6
    [root@Redis redis-6.2.6]# make PREFIX=/usr/local/redis install
    [root@Redis redis-6.2.6]# sed -i '/^bind 127.0.0.1/s/127.0.0.1/192.168.1.1/g' redis.conf  # 修改监听 IP
    [root@Redis redis-6.2.6]# sed -i '/protected-mode/s/yes/no/g' redis.conf      # 关闭保护模式
    [root@Redis redis-6.2.6]# sed -i '/daemonize/s/no/yes/g' redis.conf        # 开启后台运行
    [root@Redis redis-6.2.6]# sed -i '/requirepass/s/foobared/123123/g' redis.conf     # 配置密码
    [root@Redis redis-6.2.6]# sed -i '/requirepass 123123/s/^#//g' redis.conf      # 将密码前的 # 删除
    [root@Redis redis-6.2.6]# cp redis.conf /usr/local/redis/
    [root@Redis redis-6.2.6]# /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf   # 启动 Redis
    

    1)通过配置的 IP 和端口,来访问 RedisInsight 的管理界面:

    2)在这里可以看到 Redis 的各种信息:

    4)还可以在界面上对 Redis 使用的内存进行分析:

    4)还可以在界面上对 Redis 使用的内存进行分析:

    来源:
    blog.csdn.net/weixin_46902396/article/details/120807629

    展开全文
  • 最近梳理2021最新 Redis面试题【附答案解析】,包含了 Java基础、并发、JVM、数据库、Spring、SpringMVC、Redis、SpringCloud...1、一个Redis实例最多能存放多少的keys?List、Set、Sorted Set他们最多能存放多少元素?

    最近梳理2021最新 Redis面试题【附答案解析】,包含了 Java基础、并发、JVM、数据库、Spring、SpringMVC、Redis、SpringCloud、设计模式、MQ、Linux、Redis等多个类型。

    今天这篇是关于 Redis,总结了 110 道经典问题。

    这套Redis面试题大全,希望对大家有帮助哈~

    博主已将以下这些面试题整理成了一个Redis面试手册,是PDF版的

    1、一个Redis实例最多能存放多少的keys?List、Set、Sorted Set他们最多能存放多少元素?

    理论上Redis可以处理多达232的keys,并且在实际中进行了测试,每个实例至少存放了2亿5千万的keys。我们正在测试一些较大的值。任何list、set、和sorted set都可以放232个元素。换句话说,Redis的存储极限是系统中的可用内存值。

    2、为什么要做Redis分区?

    分区可以让Redis管理更大的内存,Redis将可以使用所有机器的内存。如果没有分区,你最多只能使用一台机器的内存。分区使Redis的计算能力通过简单地增加计算机得到成倍提升,Redis的网络带宽也会随着计算机和网卡的增加而成倍增长。

    3、定时删除

    优点:对内存友好,定时删除策略可以保证过期键会尽可能快地被删除,并释放国期间所占用的内存

    缺点:对cpu时间不友好,在过期键比较多时,删除任务会占用很大一部分cpu时间,在内存不紧张但cpu时间紧张的情况下,将cpu时间用在删除和当前任务无关的过期键上,影响服务器的响应时间和吞吐量

    4、怎么理解Redis事务?

    事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

    事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

    5、什么是Redis?

    Redis本质上是一个Key-Value类型的内存数据库,很像Memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。

    Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 Memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的Memcached来用。

    Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

    6、Redis分布式锁实现

    先拿setnx来争抢锁,抢到之后,再用expire给锁加一个过期时间防止锁忘记了释放。如果在setnx之后执行expire之前进程意外crash或者要重启维护了,那会怎么样?set指令有非常复杂的参数,这个应该是可以同时把setnx和expire合成一条指令来用的!

    7、Redis做异步队列

    一般使用list结构作为队列,rpush生产消息,lpop消费消息。当lpop没有消息的时候,要适当sleep一会再重试。缺点:在消费者下线的情况下,生产的消息会丢失,得使用专业的消息队列如rabbitmq等。能不能生产一次消费多次呢?使用pub/sub主题订阅者模式,可以实现1:N的消息队列。

    8、Reids常用5种数据类型

    string,list,set,sorted set,hash

    9、Redis 事务相关的命令有哪几个?

    MULTI、EXEC、DISCARD、WATCH

    10、WATCH命令和基于CAS的乐观锁:

    在Redis的事务中,WATCH命令可用于提供CAS(check-and-set)功能。假设我们通过WATCH命令在事务执行之前监控了多个Keys,倘若在WATCH之后有任何Key的值发生了变化,EXEC命令执行的事务都将被放弃,同时返回Null multi-bulk应答以通知调用者事务

    执行失败。例如,我们再次假设Redis中并未提供incr命令来完成键值的原子性递增,如果要实现该功能,我们只能自行编写相应的代码。其伪码如下:

    val = GET mykey val = val + 1 SET mykey $val

    以上代码只有在单连接的情况下才可以保证执行结果是正确的,因为如果在同一时刻有多个客户端在同时执行该段代码,那么就会出现多线程程序中经常出现的一种错误场景--竞态争用(race condition)。

    比如,客户端A和B都在同一时刻读取了mykey的原有值,假设该值为10,此后两个客户端又均将该值加一后set回Redis服务器,这样就会导致mykey的结果为11,而不是我们认为的12。为了解决类似的问题,我们需要借助WATCH命令的帮助,见如下代码:

    WATCH mykey val = GET mykey val = val + 1 MULTI SET mykey $val EXEC

    和此前代码不同的是,新代码在获取mykey的值之前先通过WATCH命令监控了该键,此后又将set命令包围在事务中,这样就可以有效的保证每个连接在执行EXEC之前,如果当前连接获取的mykey的值被其它连接的客户端修改,那么当前连接的EXEC命令将执行失败。这样调用者在判断返回值后就可以获悉val是否被重新设置成功。

    11、MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?

    Redis内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。

    12、Redis 过期键的删除策略?

    1、 定时删除:在设置键的过期时间的同时,创建一个定时器 timer). 让定时器在键的过期时间来临时, 立即执行对键的删除操作。

    12、 惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是 否过期, 如果过期的话, 就删除该键;如果没有过期, 就返回该键。

    13、 定期删除:每隔一段时间程序就对数据库进行一次检查,删除里面的过期键。至 于要删除多少过期键, 以及要检查多少个数据库, 则由算法决定。

    13、mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据

    相关知识:Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略(回收策略)。

    14、Redis key的过期时间和永久有效分别怎么设置?

    EXPIRE和PERSIST命令。

    15、请用Redis和任意语言实现一段恶意登录保护的代码,

    限制1小时内每用户Id最多只能登录5次。具体登录函数或功能用空函数即可,不用详细写出。

    用列表实现:列表中每个元素代表登陆时间,只要最后的第5次登陆时间和现在时间差不超过1小时就禁止登陆.用Python写的代码如下:

    #!/usr/bin/env python3 import Redis import sys import time r = Redis.StrictRedis(host=’127.0.0.1′, port=6379, db=0) try: id = sys.argv[1] except: print(‘input argument error’) sys.exit(0) if r.llen(id) >= 5 and time.time() – float(r.lindex(id, 4)) <= 3600: print(“you are forbidden logining”) else: print(‘you are allowed to login’) r.lpush(id, time.time()) # login_func()

    16、,或是关注

    17、怎么理解Redis事务?

    事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

    事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

    18、Redis key 的过期时间和永久有效分别怎么设置?

    EXPIRE 和 PERSIST 命令。

    19、Redis中海量数据的正确操作方式

    利用SCAN系列命令(SCAN、SSCAN、HSCAN、ZSCAN)完成数据迭代。

    20、什么是Redis?简述它的优缺点?

    Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像Memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。

    因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。

    Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 Memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。

    比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。

    另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的Memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

    21、为什么 edis 需要把所有数据放到内存中?

    Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以 Redis 具有快速和数据持久化的特征。如果不将数据放在内存中, 磁盘 I/O 速度为严重影响 Redis 的性能。在内存越来越便宜的今天, Redis 将会越来越受欢迎。如果设置了最大使用的内存, 则数据已有记录数达到内存限值后不能继续插入新值。

    22、MySQL里有2000w数据,Redis中只存20w的数据

    如何保证Redis中的数据都是热点数据?

    Redis内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。

    其实面试除了考察Redis,不少公司都很重视高并发高可用的技术,特别是一线互联网公司,分布式、JVM、spring源码分析、微服务等知识点已是面试的必考题。我自己整理收集了一套系统的架构技术体系,针对当前互联网公司的技术需求以及结合主流技术,这些东西可能你们平时在工作中接触过,但是缺少的全面系统的学习,加入

    23、Reids6种淘汰策略:

    noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。大多数写命令都会导致占用更多的内存(有极少数会例外。

    **allkeys-lru:**所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。

    **volatile-lru:**只限于设置了 expire 的部分; 优先删除最近最少使用(less recently used ,LRU) 的 key。

    **allkeys-random:**所有key通用; 随机删除一部分 key。

    volatile-random: 只限于设置了 expire 的部分; 随机删除一部分 key。

    volatile-ttl: 只限于设置了 expire 的部分; 优先删除剩余时间(time to live,TTL) 短的key。

    24、Redis还提供的高级工具

    像慢查询分析、性能测试、Pipeline、事务、Lua自定义命令、Bitmaps、HyperLogLog、/订阅、Geo等个性化功能。

    25、Pipeline 有什么好处,为什么要用pipeline?

    可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有因果相关性。使用 Redis-benchmark 进行压测的时候可以发现影响 Redis 的 QPS 峰值的一个重要因素是 pipeline 批次指令的数目。

    26、Redis 集群方案什么情况下会导致整个集群不可用?

    有 A, B, C 三个节点的集群,在没有复制模型的情况下,如果节点 B 失败了, 那么整个集群就会以为缺少 5501-11000 这个范围的槽而不可用。

    27、Redis 的内存用完了会发生什么?

    如果达到设置的上限,Redis 的写命令会返回错误信息( 但是读命令还可以正常返回。) 或者你可以将 Redis 当缓存来使用配置淘汰机制, 当 Redis 达到内存上限时会冲刷掉旧的内容。

    28、删除key

    del key1 key2 ...

    29、Redis集群最大节点个数是多少?

    16384个。

    30、Redis 到底是怎么实现“附近的人”

    GEOADD key longitude latitude member [longitude latitude member ...]

    将给定的位置对象(纬度、经度、名字)添加到指定的key。其中,key为集合名称,member为该经纬度所对应的对象。在实际运用中,当所需存储的对象数量过多时,可通过设置多key(如一个省一个key)的方式对对象集合变相做sharding,避免单集合数量过多。

    成功插入后的返回值:

    (integer) N

    其中N为成功插入的个数。

    Redis 面试题更多70道

    01、Redis集群方案应该怎么做?都有哪些方案?

    02、Reids支持的语言:

    03、怎么测试Redis的连通性?

    04、Redis 集群会有写操作丢失吗?为什么?

    05、Redis回收使用的是什么算法?

    06、Redis的并发竞争问题如何解决?

    07、AOF常用配置总结

    08、Redis 管道 Pipeline

    09、微信公众号:Java资讯库,回复“架构”

    10、Redis集群方案什么情况下会导致整个集群不可用?

    11、一个Redis实例最多能存放多少的keys?List、Set、Sorted Set他们最多能存放多少元素?

    12、为什么要做Redis分区?

    13、定时删除

    14、怎么理解Redis事务?

    15、什么是Redis?

    16、Redis分布式锁实现

    17、Redis做异步队列

    18、Reids常用5种数据类型

    19、Redis 事务相关的命令有哪几个?

    20、WATCH命令和基于CAS的乐观锁:

    21、Redis集群最大节点个数是多少?

    22、Reids的特点

    23、Redis最适合的场景?

    24、使用Redis有哪些好处?

    25、为什么edis需要把所有数据放到内存中?

    26、Redis的内存用完了会发生什么?

    27、Redis 的回收策略(淘汰策略)

    28、假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?

    29、Memcached 与Redis 的区别?

    30、Redis 常见性能问题和解决方案:

    31、为什么Redis需要把所有数据放到内存中?

    32、查看Redis使用情况及状态信息用什么命令?

    34、修改配置不重启Redis会实时生效吗?

    35、是否使用过 Redis 集群,集群的原理是什么?

    36、缓存并发问题

    37、使用过Redis分布式锁么,它是什么回事?

    38、Reids主从复制

    39、Redis与Memcached相比有哪些优势?

    40、Redis 最适合的场景?

    41、为什么 edis 需要把所有数据放到内存中?

    42、MySQL里有2000w数据,Redis中只存20w的数据

    43、Reids6种淘汰策略:

    44、Redis还提供的高级工具

    45、Pipeline 有什么好处,为什么要用pipeline?

    46、Redis 集群方案什么情况下会导致整个集群不可用?

    47、Redis 的内存用完了会发生什么?

    48、删除key

    49、Redis集群最大节点个数是多少?

    50、Redis 到底是怎么实现“附近的人”

    51、MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?

    52、Redis 过期键的删除策略?

    53、mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据

    54、Redis key的过期时间和永久有效分别怎么设置?

    55、请用Redis和任意语言实现一段恶意登录保护的代码,

    56、,或是关注

    57、怎么理解Redis事务?

    58、Redis key 的过期时间和永久有效分别怎么设置?

    59、Redis中海量数据的正确操作方式

    60、什么是Redis?简述它的优缺点?

    61、为什么 edis 需要把所有数据放到内存中?

    62、MySQL里有2000w数据,Redis中只存20w的数据

    63、Reids6种淘汰策略:

    64、Redis还提供的高级工具

    65、Pipeline 有什么好处,为什么要用pipeline?

    66、Redis 集群方案什么情况下会导致整个集群不可用?

    67、Redis 的内存用完了会发生什么?

    68、删除key

    69、Redis集群最大节点个数是多少?

    70、Redis 到底是怎么实现“附近的人”

    这套Redis面试题大全,希望对大家有帮助哈~

    博主已将以下这些面试题整理成了一个Redis面试手册,是PDF版的

    展开全文
  • 文章目录前言一、docker安装mysql二、docker安装redis 前言 很多人在使用docker的时候只会将需要的软件安装在docker里面,但是不知道怎么挂载目录,不知道怎么将容器里面的配置文件挂载在容器外面,导致每次修改...

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    很多人在使用docker的时候只会将需要的软件安装在docker里面,但是不知道怎么挂载目录,不知道怎么将容器里面的配置文件挂载在容器外面,导致每次修改配置文件都得进入到容器里面,很麻烦;其实将他的命令记住就可以,一个命令就可以将配置文件,日志文件等挂载在自己的虚拟机上面


    一、docker安装mysql

    docker安装mysql并挂载目录,映射端口,设置数据库用户名密码
    首先可以先下载mysql的镜像

    docker pull mysql:5.7
    
    docker run \
        -d \
        -p 3310:3306 \
        --restart=unless-stopped \
        -v /home/tool/mysql01/conf:/etc/mysql \
        -v /home/tool/mysql01/data:/var/lib/mysql \
        -e MYSQL_ROOT_PASSWORD=asd123ASD456 \
        --name mysql01 \
        mysql:5.7
    

    参数说明:
    -d : 后台运行

    -p:端口映射 本机的端口:docker中的端口

    –restart=unless-stopped:docker启动的时候随之启动

    -v :将容器中的数据挂载到本地。本地的路径:容器中的路径

    -e MYSQL_ROOT_PASSWORD=asd123ASD456 设置mysql的root用户的密码为asd123ASD456

    –name mysql01 容器起别名

    二、docker安装redis

    下载redis镜像(可以分开进行redis的镜像下载,然后再安装容器,也可以一个命令直接将镜像下载,同时将redis的挂载目录进行挂载,同时将端口进行映射,还可以确定他的自启)

    docker pull redis:4.0
    

    提示:需要将本地的目录先进行创建,然后执行挂载命令

    代码如下(示例):

    docker run -d --privileged=true -p 6379:6379 --name redis-test -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis-server /etc/redis/redis.conf docker.io/redis:4.0
    

    参数说明:
    –privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限

    -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件

    -v /docker/redis/data:/data:映射数据目录

    redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动

    –appendonly yes:开启数据持久化

    执行过后会生成容器,并启动,然后根据需要修改本地conf文件,重启,检查容器里面对应的conf文件有没有同步修改,若修改,则挂载成功

    坚志者,功名之主也。不惰者,众善之师也

    未完待续。。。

    展开全文
  • 目前有不少人在使用 ServiceStack.Redis这个.net客户端,但是这个的最新版本目前已经变成了商业软件。对于 ServiceStack.Redis这种行为,我们没有什么好说的,留给我们的选择是使用低版本的开源版本或者转向其他的...
  • CentOS 安装redis和MySQL

    2020-09-09 02:04:43
    主要介绍了CentOS 安装redis和MySQL的相关资料,需要的朋友可以参考下
  • Redis面试专题1

    2022-08-03 12:51:59
    1.twemproxy,大概概念是,它类似于一个代理方式,使用方法和普通 Redis 无任何区别, 2. codis,目前用的最多的集群方案,基本和 twemp
  • 在本篇文章中小编给大家整理了关于redis分布式怎么做的具体内容以及知识点总结,有兴趣的朋友们参考下。
  • Redis常见50问

    2019-02-23 23:09:52
    Redis常见50问
  • Redis 简介

    千次阅读 2022-03-22 17:27:58
    1.1 Redis是什么 (1)全称:Remote Dictionary Server(远程字典服务器)。是完全开源免费的,用C语言编写 的, 遵守BSD协议。是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库...
  • redis服务器

    2022-04-26 14:41:23
    redis软件介绍 RemoteDictionaryServer(远程字典服务器) 是一款高性能的(Key/Values)分布式内存数据库 支持数据持久化(定期把内存里数据存储到硬盘) 支持多种数据类型:字符、列表、散列、集合 支持...
  • Redis 内存数据库

    2021-11-05 11:48:17
    为什么要使用NOSQL 高并发读写需求 高效率存储和访问的需求 高扩展性和高可用性需求 主流的NoSQL redis MongoDB 什么是Redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,数据是保存在内存...
  • Linux软件安装——Redis

    2020-06-09 00:20:28
    下载Redis 进入官网找到下载地址 https://redis.io/download 安装到 /usr/local/src目录 解压 tar -zxvf redis-5.0.8.tar.gz 解压后多了个redis-5.0.8文件夹 编译 进入到redis目录,进行编译 cd /usr/local/src/...
  • redis图形化监控工具

    2018-11-19 16:40:25
    RedisLive是一款用Python编写基于WEB的Redis图形监控工具,也是一款实时监控Redis数据的开源软件,以WEB的形式展现出redis中的key的情况,实例数据等信息
  • 来源:https://blog.csdn.net/weixin_46902396/article/details/120807629/RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接...CLI 和连接的 Redis 进行交互(RedisInsight 内置对 ...
  • Redis

    2021-12-23 09:16:55
    1、Redis 简介 (1)Redis 的由来 2008 年,意大利的一家创业公司 Merzia 推出了一款基于 MySQL 的网站实时统计系统 LLOOGG ,然而没过多久该公司的创始人 Salvatore Sanfilippo 便开始对 MySQL 的性能感到失望,...
  • redis面试相关问题整理(含答案) 一.概述 二.持久化 三.过期键的删除策略 四.内存相关 五.事务 六.集群方案 七.分区 八.分布式问题 九.缓存异常 十.其他问题
  • RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持)...
  • 点击关注公众号,利用碎片时间学习在服务开发中,单机都会存在单点故障的问题,及服务部署在一...redis也是一样,为了解决单机故障引入了主从模式,但主从模式存在一个问题:master节点故障后服务,需要人为的手动将...
  • redis命令工具

    2022-01-04 16:56:07
    1:Redis 命令工具 Redis 提供了多个命令工具,这些命令工具的作用分别如下所示: redis-server ; 用于启动redis的工具, redis-benchmark; 用于检测redis在本机的运行效率 redis-check-aof; 修复apf 持久化...
  • redis集群

    2022-02-27 19:49:33
    redis集群搭建的方式有多种,例如哨兵模式、使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存相应的数据和整个集群实例状态,每个节点都和其他所有节点...
  • Redis安装

    2022-05-10 16:24:14
    1 Redis Windows安装 Redis 官方不建议在 windows 下使用 Redis,所以官网没有 windows 版本可以下载。还好微软团队维护了开源的 windows 版本,虽然只有 3.2 版本,对于普通测试使用足够了。 1.1 安装包方式安装 ...
  • linux 安装redis 完整步骤.docx
  • redis 精选面试题,「码农架构」订阅整理! 包含基础理论与实战问答,配置运维等知识点!Java后端必备资源
  • docker安装redis 构建与布署

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,534
精华内容 11,013
关键字:

存放redis的软件