文章目录

  • 服务器配置
    • 配置选项
  • 修改和获取配置选项的值
    • 修改选项的值(1):通过给定参数
    • 修改选项的值(2):通过给定配置文件
    • 修改选项的值(3):使用 CONFIG 系列命令
    • CONFIG SET 的注意事项(1/2)
    • CONFIG SET 的注意事项(2/2)
    • CONFIG REWRITE 命令
  • 一些基本的配置选项
    • 配置选项示例
    • 关于配置选项的更多信息
  • 复习
    • 配置选项

服务器配置

通过调整服务器来适应你的需要

配置选项

Redis 服务器提供了一些配置选项(configuration option),通过修改这些选项的值,可以改变选项对应功能的行为。

举个例子,前面介绍 SELECT 命令时曾经说过,Redis 服务器默认会创建 0 号至 15 号共十六个数据库以供用户使用。

但 Redis 服务器的数据库数量并不是一成不变的,Redis 提供了 databases 选项,它的默认值为 16 , 通过修改这个选项的值,我们可以让服务器创建指定数量的数据库,比如 5 个、10 个、32 个、100 个,诸如此类。

再举一个例子,在介绍 Lua 脚本的时候,我们曾说过,如果一个脚本的运行 时间过长,用户可以使用SCRIPT KILL 命令来强制停止脚本,其中 lua-time-limit 选项的值就决定了脚本可以不被打 扰地运行的最大毫秒数,如果这个选项的值是 5000 的话,那么只有在脚本运行 时间超过 5000 毫秒之后,服务器才会开始接受 SCRIPT KILL 命令,允许用户终结正在运行的脚本。如果有需要的 话,用户也可以把这 个选项的值调小或者调大。

修改和获取配置选项的值

修改选项的值(1):通过给定参数

Redis 提供了三种方法来修改配置 选项的值。
第一种方法是在启动服务器时,通过给定参数的方式来为配置选项设置值,格式为:$ redis-server – – – …

比如给定以下参数来启动 Redis 服务器的话,服务器就会创建 32 个数据库:
$ redis-server --databases 32

而给定以下参数可以让服务器创建 100 个数据库,并将服务器的端口设置为 10086:
$ redis-server --databases 100 --port 10086

修改选项的值(2):通过给定配置文件

修改配置选项值的第二种方法是,将要修改的配置 选项以及选项的值记录到一个配置文件里面,并在启动服务器时,让服务器载入该配置文件。格式为:
$ redis-server

举个例子,我们可以创建一个包含以下内容的配置文件 redis.conf :
databases 128
port 10086

并在启动服务器时让服务器载入该文件:
$ redis-server redis.conf

那么启动后的服务器将创建 128 个数据库,并使用端口 10086 来监听客户端的连接请求。

修改选项的值(3):使用 CONFIG 系列命令

以上两种方法都只能在服务器启动时修改配置选项的值,通过使用 CONFIG 系列命令,用户可以在服 务器运行时动态修改选项的值,也可以通过命令获取选项当前的值,等等。

使用 CONFIG GET 命令可以获取选项当前的值,该命令的格式为:
CONFIG GET

举个例子,执行以下命令可以返回服 务器目前设置的 Lua 脚本的最大正常执行时间:
redis> CONFIG GET lua-time-limit

  1. “lua-time-limit”
  2. “5000”
CONFIG SET 的注意事项(1/2)

使用 CONFIG SET 需要注意的一点是,并不是所有配置选项都可以在服务器运行时动态地设置的,有一些配置选项必须在服务器启动时才能设置。

举个例子,因为创建数据库的工作是在服务器启动时进行的,所以数据库的数量必须在启动服务器时指定,在服务器运行的过程中,尝试使用 CONFIG SET 去修改数据库的数量是不可行的:
redis> CONFIG SET databases 100
(error) ERR Unsupported CONFIG parameter: databases

另一个例子是服务器使用的监听端口号,这个选项也不能在服务器已经运行的情况下设置:
redis> CONFIG SET port 10086
(error) ERR Unsupported CONFIG parameter: port

CONFIG SET 的注意事项(2/2)

CONFIG SET 另外一个需要注意的地方是, CONFIG SET 设置的选项值只会在服务器运行的过程中生效,一旦服务器关机,CONFIG SET 设置的选项值就会丢失。

举个例子, lua-time-limit 选项的默认值为 5000 ,虽然通过 CONFIG SET lua-time-limit 3000 可以将选项的值改为 3000 ,但这个修改只会在服务器的本次运行中有效,一旦服 务器关闭并重启的话, luatime-limit 选项的值就会变回默认值 5000 。
redis> CONFIG SET lua-time-limit 3000
OK
redis> CONFIG GET lua-time-limit

  1. “lua-time-limit”
  2. “3000”
    redis> CONFIG GET lua-time-limit # 重启服务器之后执行
  3. “lua-time-limit”
  4. “5000”
CONFIG REWRITE 命令

如果服务器在启动时载入了配置文件,并且在服务器运行的过程中使用 CONFIG SET 修改了配置选项的值,那么执行 CONFIG REWRITE 命令可以将被修改的配置选项以及它的值写入到配置文件里面。

举个例子,如果服务器启动时载入了包含以下内容的配置文件:
databases 32
lua-time-limit 5000

如果用户在服务器运行的过程中,执行了 CONFIG SET lua-time-limit 3000 命令,并且他打算将这一修改记 录到配置文件里面的话,那么他可以执行 CONFIG REWRITE 命令,将配置文件的内容修改为:
databases 32
lua-time-limit 3000

这样服务器在下次启动并载入配置文件时,就会继续将 Lua 脚本的最大正常运行时间设置为 3000 毫秒。

一些基本的配置选项

配置选项示例

关于配置选项的更多信息

Redis 提供了丰富的配置选项,前面列出的只是其中的一小部分,大多数配置 选项都和某个特定的功能有关,在之后介绍 RDB 持久化、AOF 持久化、复制、Sentinel 和 集群 等功能时,我们会陆续介绍和 这些功能有关的配置选项。

想了解更多可设置的配置选项,或者知道更多关于配置 选项的信息,可以参考 Redis 源码附带的配置示例文件 redis.conf 。

复习

配置选项

三种设置配置选项的方法:

  1. 服务器启动时通过参数来设置,格式为 $ redis-server – 。
  2. 服务器启动时通过指定配置文件来设置,格式为 $ redis-server
  3. 在服务器运行时,通过 CONFIG SET 命令来设置。

需要注意的是,并不是所有配置 选项都可以使用 CONFIG SET 来修改,有些选项只能在服务器启动时设置,并且在不使用 CONFIG REWRITE 的情况下, CONFIG SET 设置的选项值在服务器关闭之后就会丢失。

使用 CONFIG GET 命令可以获取配置选项的当前值。如果服务器在启动时载入了配置文件,并且在服 务器运行的过程中,用户使用 CONFIG SET 修改了某些选项的值,那么只要使用 CONFIG REWRITE 命令,就可以将 CONFIG SET 的修改记录到配置文件里面,以便服 务器下次启动时使用。

redis服务器配置(redis服务器篇)相关推荐

  1. 【Redis】13.Redis服务器配置redis.conf

    服务器端设定 设置服务器以守护进程的方式运行 deamonize yes|no 绑定主机地址 bind 127.0.0.1 设置服务器端口号 port 6379 设置数据库数量 databases 1 ...

  2. redis入门——服务器篇

    redis入门--服务器篇 @(Redis)[服务器, 配置文件, 发布订阅, 事务] redis入门服务器篇 redis服务器配置文件 redis服务器基本命令 redis服务器的持久化 RDB持久 ...

  3. Redis 作为缓存服务器的配置

    转自:http://www.open-open.com/lib/view/open1419670554109.html# 随着Redis的发展,越来越多的架构用它取代了memcached作为缓存服务器 ...

  4. 深入学习 Redis 之第 2 篇 —— Docker 实现 Redis 主从复制之哨兵模式 Sentinel

    查看之前的博客可以点击顶部的[分类专栏] 本篇博客基于第1篇博客的环境基础上继续实验的: https://blog.csdn.net/BiandanLoveyou/article/details/11 ...

  5. redis入门——Spring整合篇

    redis入门--Spring整合篇 @(Redis)[服务器, 连接池, 集群, jedis, spring] redis入门Spring整合篇 Spring整合Redis redis整合分析 编写 ...

  6. redis入门——集群篇

    redis入门--集群篇 @(Redis)[服务器, 集群, 主从复制, jedis] redis入门集群篇 主从复制 基本介绍 主从配置 主redis配置 从redis配置 Redis集群 基本介绍 ...

  7. Redis总结_实战篇

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 实战篇Redis 开篇导读 1.短信登录 1.1.导入黑马点评项目 1.1.1 .导入SQL 1.1.2.有关当前模型 1. ...

  8. Redis看这一篇就够了

    大数据时代NoSQL开始大行其道,其中常用于缓存的Redis可谓风头正盛,是大小公司技术架构中必不可少的一种中间件,也是职场技术同仁们必知必会的一种技术.本场Chat将从各个方面对Redis进行全面的 ...

  9. 黑马Redis学习笔记 (基础篇+实战篇)

    目录 **一.初始Redis** **1.1SQL 和 NoSql的区别** **1.1.1结构化和非结构化** **1.1.2关联和非关联** **1.1.3查询方式** **1.1.4 事务** ...

  10. 【Redis】Redis入门篇(1)

    Redis入门篇(1):涉及到Redis概念.Redis下载安装.命令行操作.Redis数据结构.持久化操作 Redis入门篇(2):了解使用Java客户端操作Redis.Redis连接池.实际应用案 ...

最新文章

  1. Android 手机卫士--自定义组合控件构件布局结构
  2. Oracle监听配置
  3. ssm项目整合log4j日志
  4. nginx rewrite规则和参考
  5. 剪映电脑版_七款手机剪辑app,效果堪比电脑软件
  6. 类UNIX操作系统家族发展时间线图谱(1969-2020)
  7. 【linux基础】16、软件包管理
  8. (二)使用预定义模型 QStringListModel例子
  9. 牛客网-《剑指offer》-变态跳台阶
  10. Linux之apache服务搭建以及浅析web安全
  11. conda h5py_修改conda安装路径
  12. 基于HTTP构建YUM网络源实战
  13. 英伟达RTX 2060发布:《战地5》光追超60帧,349美元(转载自IT之家)
  14. MCS-51系列单片机存储器结构
  15. 2020年最新可用的谷歌镜像站
  16. 安装apache遇到You don’t have permission to access this resource. 原因与解决方法
  17. hp vse虚拟服务器,HP9000用户升级硬件平台的捷径
  18. JavaScript中字符串与Unicode编码的互相转换
  19. mysql设某个值为empty_oracle 修改某字段小数位精度 需要字段未empty的解决办法
  20. 阿里云下如何巧加web防火墙?

热门文章

  1. linux下使用ramdisk
  2. Java5年经验字节社招:半月3次面试,成功拿到Offer
  3. css 左边固定,右边自适应的方案
  4. 在线 神经网络可视化
  5. 传奇开服教程:传奇沙巴克奖励脚本
  6. 北科大和北京工业大学计算机专业咋样,北邮、北交大、北科大和北工大,4所211大学,谁更强?...
  7. 天池冠军比赛心得体会
  8. 对方正在输入 java_smark和openfire即时通信代码
  9. jQuery实现在光标处插入文本
  10. 为什么中国程序员被称为“码农”