Redis初探(1)——Redis的安装

1.1 什么是Redis

Redis是使用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,Redis支持以下五种数据类型:

  • String类型
  • List类型
  • Set类型
  • SortedSet类型
  • Hash类型

1.2 Redis应用场景

  • 缓存
  • 分布式集群架构中session分离
  • 任务队列

1.3 安装Redis

Redis官网上下载即可,我使用的是4.0.8,点我下载

我将其放在了/usr/local目录中:

wxs@ubuntu:/usr/local$ ls
bin  etc  games  include  lib  man  redis-4.0.8.tar.gz  sbin  share  src

解压到当前文件夹,并将其重命名为redis

wxs@ubuntu:/usr/local$ sudo tar zxvf redis-4.0.8.tar.gz
wxs@ubuntu:/usr/local$ sudo mv redis-4.0.8 redis
wxs@ubuntu:/usr/local$ cd redis/
wxs@ubuntu:/usr/local/redis$ ls
00-RELEASENOTES  COPYING  Makefile   redis.conf       runtest-sentinel  tests
BUGS             deps     MANIFESTO  runtest          sentinel.conf     utils
CONTRIBUTING     INSTALL  README.md  runtest-cluster  src

对其进行编译(需要先行安装gcc

wxs@ubuntu:/usr/local/redis$ sudo make

注:如果make时报zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory这个错,请使用make MALLOC=libc命令

1.4 运行Redis

编译完成后进入src文件夹,其中有两个关键的文件:redis-serverredis-cli

运行redis-server,映入眼帘的是一张巨大的面包图:

其中Port表示redis的端口号,PID表示改进程的pid号,下方光标不停的闪动,此时redis就已经启动了,但是这个窗口不能够使用了。

因此我们新开一个窗口,运行redis-cli,顾名思义,这是redis的命令行模式。前面说了redis支持五种数据类型,我们存一个字符串来测试下:

wxs@ubuntu:/usr/local/redis/src$ ./redis-cli 
127.0.0.1:6379> set username jitwxs
OK
127.0.0.1:6379> get username
"jitwxs"
127.0.0.1:6379> 

成功取到了我们设置的数据!

Tip:如果我们要连接远程Redis,可以加参数:./redis-cli -h IP地址
如果要指定端口,加参数:./redis-cli -p 端口号

1.5 后端模式

但是这样的话开的第一个窗口不就是没有什么用处了吗,还得再开一个窗口,多麻烦。当然有办法,只要我们设置redis启动模式为后端启动即可。

进入src的上层目录,其中有一个redis.conf的文件,顾名思义,就是redis的配置文件:

wxs@ubuntu:/usr/local/redis/src$ cd ..
wxs@ubuntu:/usr/local/redis$ ls
00-RELEASENOTES  COPYING  Makefile   redis.conf       runtest-sentinel  tests
BUGS             deps     MANIFESTO  runtest          sentinel.conf     utils
CONTRIBUTING     INSTALL  README.md  runtest-cluster  src

编辑redis.conf,将daemonize的值修改为yes,如图所示:

保存修改,此时重新运行redis,注意此时运行时要加上配置文件这个参数(如果不加其实使用了默认的配置文件)

最后一行提示我们配置已经载入,而且也没有弹出之前的类似于面包图,我们查看下进程,redis的确已经在后台启动了。

wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep redis
wxs       15243  0.1  0.4  51828  8380 ?        Ssl  00:24   0:00 redis-server

想要操纵数据依然运行redis-cli即可。

1.6 退出Redis

如何退出Redis呢,我们可以粗暴的退出,即直接用kill命令将该进程杀死,这种方法十分粗暴,会导致redis持久化的数据丢失,不建议使用。

wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep redis
wxs       15243  0.1  0.4  51828  8380 ?        Ssl  00:24   0:00 redis-server
wxs@ubuntu:/usr/local/redis/src$ sudo kill -9 15243

另外一种方法就是向Redis发送关闭命令,即redis-cli shutdown即可。

wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep redis
wxs       15243  0.1  0.4  51828  8380 ?        Ssl  00:24   0:00 redis-server
wxs@ubuntu:/usr/local/redis/src$ ./redis-cli shutdown
(error) ERR Errors trying to SHUTDOWN. Check logs.

我这里出现了错误,是因为我的配置文件没有配置完全的原因,如果你和我一样出现了错误,那么修改配置文件:

wxs@ubuntu:/usr/local/redis/src$ sudo vim ../redis.conf

修改配置文件中的logfiledir这两项为自定义路径(dir项参数是一个文件夹,因此结尾必修要有/),如下图:


对于其中不存在的文件和路径,都要创建,并且赋予777权限:

wxs@ubuntu:/usr/local/redis/src$ sudo touch ../redis_log.log
wxs@ubuntu:/usr/local/redis/src$ sudo chmod 777 ../redis_log.log
wxs@ubuntu:/usr/local/redis/src$ sudo mkdir ../redis_dbfile
wxs@ubuntu:/usr/local/redis/src$ sudo chmod 777 ../redis_dbfile

因为配置文件没有配好,没法正常关闭,因此只能先强杀进程:

wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep rediswxs       15243  0.1  0.4  51828  8380 ?        Ssl  00:24   0:01 redis-server
wxs@ubuntu:/usr/local/redis/src$ sudo kill -9 15243

重新启动redis,此时就能够正常关闭了,如果还是报错误,打开你配置的logfile对应的路径,去查看具体的错误信息。

wxs@ubuntu:/usr/local/redis/src$ ./redis-server ../redis.conf 
wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep redis
wxs       15450  0.0  0.4  51828  8388 ?        Ssl  00:49   0:00 redis-server
wxs@ubuntu:/usr/local/redis/src$ ./redis-cli shutdown
wxs@ubuntu:/usr/local/redis/src$ ps auxc | grep redis
wxs@ubuntu:/usr/local/redis/src$ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值