Redis入门不难系列(1)

Redis入门不难系列(1)


?

文章目录

    • 安装
    • 启动Redis
      • 直接启动
      • 脚本启动
      • 设置开机自启
    • 关闭redis
    • redis配置
    • 其他相关知识

?

安装

回头重温Redis,感慨我们以前安装个Redis可麻烦了,当初我为了学Redis,还专门去买了课、

我们选用Linux系统,这也是Redis的选择。

在 http://download.redis.io/redis-stable.tar.gz 可以获取Redis的最新稳定版,目前是还有在不断维护这个网址的。

命令(建议先转到root权限下):

wget http://download.redis.io/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make

就很简单。

编译之后执行:

make install

将src下的可执行程序复制到 /usr/local/bin 目录中,后面用得上。

使用Redis前建议用 make test 命令走一波,测试Redis是否编译正确。

如果报这个错:

You need tcl 8.5 or newer in order to run the Redis test

那就:

yum install tcl

启动Redis

如果前面你像我一样执行了 make install 的话,那么现在也跟我一样:

cd /usr/local/bin

Redis入门不难系列(1)

启动Redis有直接启动和脚本启动两种方式,

直接启动

直接启动就是进入到这个文件夹下面,直接运行redis-server即可。
Redis服务器默认会使用6379端口号,可以通过 --port来指定端口号。

./redis-server --port 6379

Redis入门不难系列(1)


脚本启动

在Redis源码中的utils目录下,有一个redis_init_script文件,我们将它复制到 /etc/init.d目录下,文件名就起 redis_端口号吧,操作如下:
Redis入门不难系列(1)

建立两个文件夹:

/etc/redis	存放redis配置文件
/var/redis/端口号	存放redis持久化数据

(有就加,没有就算了)

在 redis-stable 文件夹中,有一个redis.conf的配置文件,想当初我还从头到尾翻译了一遍。
将这个配置文件复制到/etc/redis目录下,做一些修改:

daemonize  	yes							使redis以守护进程模式运行
pidfile		/var/run/redis_端口号.pid	设置redis的PID文件位置
port		端口号						设置redis监听的端口号
dir			/var/redis/端口号			设置持久化文件存放位置

现在就可以以以下命令来启动redis了。

/etc/init.d/redis_端口号 start

来启动redis了。


设置开机自启

sudo update-rc.d redis_端口号 defaults

关闭redis

关闭redis就很简单了,但是也还没有到直接咔嚓那么简单啦。
redis有可能正在将内存中的数据同步到硬盘中,所以如果强行关闭的话有可能会导致数据丢失。正确关闭方式如下:

redis-cli shutdown

当redis收到shutdown命令后,会先断开所有连接,最后完成退出。


redis配置

博主不辞辛劳翻译了一下redis.conf配置文件,感觉里面东西还是挺好的。
redis.conf翻译与配置(一)【redis6.0.6】
redis.conf翻译与配置(二)【redis6.0.6】
redis.conf翻译与配置(三)【redis6.0.6】
redis.conf翻译与配置(四)【redis6.0.6】
redis.conf翻译与配置(五)【redis6.0.6】
redis.conf翻译与配置(六)【redis6.0.6】
翻译亦是不易,大家多多支持


其他相关知识

如果你想启动多个redis,使用不同的配置文件未必不是一个好办法,当然,端口号不要重复了。


单进程单线程:

redis是单进程单线程的。
优点:避免了线程竞态。
缺点:无法发挥多核优势。

弥补:多个redis实例一起工作。

默认16个数据库一起工作:
默认使用16个数据库,类似于数组下标从0开始,初始使用0号库。

切换数据库:

select index

常用基本命令:

DBSIZE:查询当前数据库下有多少个数据
FLUSHDB:清空当前数据库下数据
FLUSHALL:清空所有数据库下数据

Redis入门不难系列(1)

?

上一篇:cmd_sed_grep_awk


下一篇:百分比布局实现div自动换行