Redis缓存文件储存在何处(redis缓存文件在哪里)

Redis缓存文件储存在何处?

在使用Redis作为缓存解决方案时,我们都知道Redis会把缓存数据放入内存中。不过,当缓存数据过多时,Redis无法承受缓存数据全部放在内存中,这时就需要将一部分缓存数据放到磁盘中。那么,Redis缓存文件储存在何处呢?

Redis缓存文件的存储位置是由Redis.conf配置文件的“dir”属性所决定的。如果Redis.conf配置文件中没有设置“dir”属性,那么Redis会将缓存文件保存在Redis所处的目录下。

Redis.conf配置文件中一般会设置以下三个属性:

1. bind

这个属性指定Redis绑定的IP地址。如果这个属性没有被设置,那么Redis默认会监听所有的IP地址。

2. port

这个属性指定Redis监听的端口。默认端口是6379。

3. dir

这个属性指定Redis所用到的文件目录。当Redis需要将缓存数据写入磁盘时,就会将缓存数据存储在“dir”所指定的目录中。

以下是Redis.conf配置文件的部分示例:

bind 127.0.0.1 //指定Redis绑定的IP地址

port 6379 //指定Redis监听的端口

dir /var/lib/redis/ //指定Redis缓存文件存储的目录

上面的示例中,“dir”属性将Redis缓存文件存储在了“/var/lib/redis/”目录下。这个目录需要能够被Redis所运行的用户所访问,否则Redis将无法将缓存数据写入磁盘。

此外,还有一个相关的属性“dbfilename”,这个属性用于指定Redis缓存文件的文件名。如果“dbfilename”属性没有被设置,默认的文件名是“dump.rdb”。

以下是Redis.conf配置文件的完整示例:

# Redis configuration file example

#

# Note that in order to read the configuration file, Redis must be

# started with the file path as first argument:

#

# ./redis-server /path/to/redis.conf

# Note on units: when memory size is needed, it is possible to specify

# it in the usual form of 1k 5GB 4M and so forth:

#

# 1k => 1000 bytes

# 1kb => 1024 bytes

# 1m => 1000000 bytes

# 1mb => 1024*1024 bytes

# 1g => 1000000000 bytes

# 1gb => 1024*1024*1024 bytes

#

# units are case insensitive so 1GB 1Gb 1gB are all the same.

################################## INCLUDES ###################################

# Include one or more other config files here. This is useful if you

# have a standard template for Redis configuration files or you wish

# to store your Redis configuration files in a different directory

# (e.g. /etc/redis/redis.conf).

#

# Notice option “include” won’t be rewritten by command “CONFIG REWRITE”

# from admin or Redis Sentinel. Since Redis always uses the last processed

# configuration file, you are safe if the include is put at the

# beginning or somewhere else in the middle of the configuration file.

#

# include /path/to/local.conf

# include /path/to/other.conf

################################# MODULES ######################################

# Load modules at startup. If the server is not able to load modules

# it will abort. It is possible to use multiple loadmodule directives.

#

# loadmodule /path/to/my_module.so

# loadmodule /path/to/other_module.so

################################## NETWORK ####################################

# By default Redis listens for connections from all the network interfaces

# avlable on the server. It is possible to listen to just one or multiple

# interfaces using the “bind” configuration directive, followed by one or

# more IP addresses.

#

# Examples:

#

# bind 192.168.1.100 10.0.0.1

# bind 127.0.0.1 ::1

#

# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the

# internet, binding to all the interfaces is dangerous and will expose the

# instance to everybody on the internet. So by default we uncomment the

# following bind directive, that will force Redis to listen only into

# the IPv4 loopback interface at 127.0.0.1 which is safer to use

#

# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES

# JUST COMMENT THE FOLLOWING LINE.

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#

bind 127.0.0.1

# Protected mode is a layer of security protection, in order to avoid that

# Redis instances left open on the internet are accessed and exploited.

#

# When protected mode is on Redis only accepts connections from “127.0.0.1”

# (IPv4 and IPv6), and from Unix domn sockets.

#

# By default protected mode is enabled. You should disable it only if

# you are sure you want clients from other hosts to connect to Redis

# even if no authentication is configured, nor a specific set of interfaces

# are explicitly listed using the “bind” directive.

protected-mode yes

# Accept connections on the specified port, default is 6379 (IANA #815344).

# If port 0 is specified Redis will not listen on a TCP socket.

port 6379

# TCP listen() backlog.

#

# In high requests-per-second environments you need an high backlog in order

# to avoid slow clients connections issues. Note that the Linux kernel

# will silently truncate it to the value of /proc/sys/net/core/somaxconn so

# make sure to rse both the value of somaxconn and tcp_max_syn_backlog

# in order to get the desired effect.

tcp-backlog 511

# Unix socket path.

#

# When the server is not run as root, Redis will fl to create its socket

# in /var/run/redis/redis.sock and will instead create it in /tmp/redis.sock

# unless the `unixsocket` option has been specified.

#

# Unix socket disabled by default

#

# unixsocket /tmp/redis.sock

# unixsocketperm 700

# Close the connection after a client is idle for N seconds (0 to disable)

timeout 0

# TCP keepalive.

#

# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence

# of communication. This is useful for two reasons:

#

# 1) Detect dead peers.

# 2) Take the connection alive from the point of view of network

# equipment in the middle.

#

# On Linux, the specified value (in seconds) is the period used to send ACKs.

# Note that to close the connection the double of the time is needed.

# On other kernels the period depends on the kernel configuration.

#

# A reasonable value for this option is 60 seconds.

tcp-keepalive 60

################################# SECURITY ####################################

# Require clients to issue AUTH before processing any other

# commands. This might be useful in environments in which you do not trust

# others with access to the host running redis-server.

#

# This should stay commented out for backward compatibility and because most

# people do not need auth (e.g. they run their own servers).

#

# Warning: since Redis is pretty fast an outside user can try up to

# 150k passwords per second agnst a good box. This means that you should

# use a very strong password otherwise it will be very easy to break.

#

# requirepass foobared

# Command renaming.

#

# It is possble to change the name of dangerous commands in a shared

# environment. For example the CONFIG command may be renamed into something

# hard to guess so that it will still be avlable for internal-use tools

# but not avlable for general clients.

#

# This is only useful if you have untrusted clients. No need to change

# this otherwise.

#

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

# rename-command CONFIG “”

# It is possible to completely kill a Redis server by sending it a wrong

# command line. Protect it with a password!

#

# rename-command DEBUG “”

################################### SNAPSHOTTING #####################################

# Save the DB on disk:

#

# save

#

# Will save the DB if both the given number of seconds and the given

# number of write operations agnst the DB occurred.

#

# In the example below the behaviour will be to save:

# after 900 sec (15 min) if at least 1 key changed

# after 300 sec (5 min) if at least 10 keys changed

# after 60 sec if at least 10000 keys changed

#

# Note: you can disable saving at all commenting all the “save” lines.

save 900 1

save 300 10

save 60 10000

# By


数据运维技术 » Redis缓存文件储存在何处(redis缓存文件在哪里)