Redis configuration file in a detailed

Source: Internet
Author: User
Tags value store

Reproduced in: http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/126.html?1455853164?

The result is that Redis is a key value store, which can be used instead of MySQL; If you think of it as a persistent cache, you might just use it to save some frequently accessed temporary data (instead of memcached); Redis can also be used as a lightweight message queue because it has built-in support for list data structures and Pub/sub commands, as well as a lightweight distributed locking system. Redis is an abbreviation for Remote DIctionary server, which is explained in Redis on the official website:

The code is as follows:


Redis is a open source, Advanced Key-value store.
It's often referred to as a data structure server since keys
Can contain strings, hashes, lists, sets and sorted sets.


This article will detail the configuration files for Redis.

1. Redis is not running as a daemon by default and can be modified by this configuration item, enabling the daemon with Yes

The code is as follows:


Daemonize No


2. When Redis is running as a daemon, Redis writes the PID to the/var/run/redis.pid file by default and can be specified by pidfile

The code is as follows:


Pidfile/var/run/redis.pid


3. Specify the Redis listening port, the default port is 6379, the author in his own article blog post explains why 6379 as the default port, because 6379 Merz the corresponding number on the phone keypad, and Merz from Italy showgirl Alessia Merz name

The code looks like this: #p # page Title #e#


Port 6379


4. The host address of the binding

The code is as follows:


Bind 127.0.0.1


5. If the client closes the connection after a long period of inactivity, if it is specified as 0, the function is turned off

The code is as follows:


Timeout 300


6. Specify logging level, Redis supports four levels in total: Debug, verbose, notice, warning, default is verbose

The code is as follows:


LogLevel verbose


7. Logging mode, default to standard output, if Redis is configured to run as daemon, and this is configured as logging mode as standard output, the log will be sent to/dev/null

The code is as follows:


LogFile stdout


8. Set the number of databases, the default database is 0, you can use the Select <dbid> command to specify the database id#p# page header on the connection #e#

The code is as follows:


Databases 16


9. Specify how many times the update operation will synchronize the data to the data file and can be combined with multiple conditions

The code is as follows:


Save <seconds> <changes>


There are three conditions available in the Redis default configuration file:

The code is as follows:


Save 900 1
Save 300 10
Save 60 10000


Represents 1 changes in 900 seconds (15 minutes), 5 changes in 300 seconds (10 minutes), and 60 changes in 10,000 seconds.

10. Specify whether to compress the data when storing to the local database, the default is Yes,redis with LZF compression, if you want to save CPU time, you can turn off this option, but it will cause the database file to become huge

The code is as follows:


Rdbcompression Yes


11. Specify the local database file name, the default value is dump.rdb#p# page title #e#

The code is as follows:


Dbfilename Dump.rdb


12. Specify the local database to hold the directory

The code is as follows:


Dir./


13. Set the IP address and port of the master service when this machine is a Slav service, and it will automatically synchronize data from master when Redis boots

The code is as follows:


Slaveof <masterip> <masterport>


14. When the master service is password protected, the Slav service connects the password of master

The code is as follows:


Masterauth <master-password>


15. Set up the Redis connection password, if the connection password is configured, the client will need to provide the password via auth <password> command when connecting to Redis, turn off by default

The code is as follows:

#p # pagination Title #e#
Requirepass foobared


16. Set the maximum number of client connections at the same time, the default is unlimited, Redis can open the number of client connections for the Redis process can open the maximum number of file descriptors, if set maxclients 0, indicating no restrictions. When the number of client connections reaches the limit, Redis closes the new connection and returns the max number of clients reached error message to the client

The code is as follows:


MaxClients 128


17. Specify the maximum Redis memory limit, Redis will load data into memory when it is started, Redis will try to clear expired or expiring key first, when this method processing, still reach the maximum memory setting, will no longer write operation, but still can read operation. Redis new VM mechanism will store key memory, value will be stored in swap area

The code is as follows:


MaxMemory <bytes>


18. Specifies whether logging occurs after each update operation, which, by default, writes data to disk asynchronously and, if not turned on, may result in data loss over a period of time when power is lost. Because the Redis itself synchronizes data files in sync with the save conditions above, some data will only exist in memory for a period of time. Default is No

The code is as follows:


AppendOnly No


19. Specify the update log file name, default to Appendonly.aof

The code looks like this: #p # page Title #e#


Appendfilename appendonly.aof


20. Specify the update log condition, a total of 3 optional values:
No: Indicates that the data cache of the operating system is synchronized to disk (fast)
Always: Represents a manual call to Fsync () to write data to disk (slow, secure) after each update operation
Everysec: Indicates synchronization once per second (trade-offs, default values)

The code is as follows:


Appendfsync everysec


21. Specify whether to enable the virtual memory mechanism, the default value is no, a simple introduction, the VM mechanism to store data paging, by Redis will be less accessible pages, such as cold data swap to disk, Access to multiple pages is automatically swapped out into memory by the disk (in a later article I will carefully analyze the Redis VM mechanism)

The code is as follows:


Vm-enabled No


22. Virtual memory file path, default value is/tmp/redis.swap, cannot be shared by multiple Redis instances

The code is as follows:


Vm-swap-file/tmp/redis.swap


#p # page Title #e#23. All data larger than Vm-max-memory is stored in virtual memory, regardless of how small the vm-max-memory setting is, all index data is in memory (Redis's index data is keys), that is, when Vm-max-memory is set to 0, In fact, all value is present on disk. The default value is 0

The code is as follows:


Vm-max-memory 0


The Redis swap file is divided into a number of page, an object can be saved on more than one page, but a page can not be shared by multiple objects, Vm-page-size is based on the size of the stored data to set, the author suggests that if you store many small objects, The page size is best set to 32 or 64bytes, and if you store large objects, you can use a larger page, and if you are unsure, use the default values

The code is as follows:


Vm-page-size 32


25. Set the number of pages in the swap file, since the page table (a bitmap that indicates that the page is idle or used) is in memory and consumes 1byte of memory per 8 pages on disk.

The code is as follows:


Vm-pages 134217728


26. Set the number of threads to access swap files, preferably do not exceed the machine's core number, if set to 0, then all the swap file operation is serial, may cause a relatively long delay. The default value is 4

The code is as follows:

#p # pagination Title #e#
Vm-max-threads 4


27. Set when replying to the client, whether to merge the smaller package into one package send, the default is to turn on

The code is as follows:


Glueoutputbuf Yes


28. Specifies that a special hashing algorithm is used when more than a certain number or maximum element exceeds a critical value

The code is as follows:


Hash-max-zipmap-entries 64
Hash-max-zipmap-value 512


29. Specify whether to activate the reset hash, which is on by default (described later in the introduction of the Redis hashing algorithm)

The code is as follows:


activerehashing Yes


30. Specify other profiles that can use the same configuration file across multiple Redis instances on the same host, while each instance has its own specific configuration file

The code is as follows:


Include/path/to/local.conf


This article is a complete introduction to the Redis configuration file, we hope to be useful to everyone. #p # pagination Title #e#

Redis configuration file in a detailed

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.