Linux下redis的相关笔记整理

Linux下安装redis:

1、下载redis(去官网或者通过命令下载):

	官网地址:   https://redis.io/
	Linux地址:[root@192 opt]#  wget http://download.redis.io/releases/redis-4.0.8.tar.gz

2、解压下载的压缩包:

	[root@192 opt]# tar -zxvf redis-4.0.8.tar.gz

3、进入到redis-4.0.8下编译make(注意gcc和redis的版本问题):

	[root@192 redis-4.0.8]# make
   (注意:如果没有gcc的会编译错误,需要运行该命令 yum  install -y gcc-c++,运行之后执行make,会提示原先错误,
   需要make distclean,再make)

4、执行make test(可执行可不执行):

	[root@192 redis-4.0.8]# make test

5、执行make install:

	[root@192 redis-4.0.8]# make install

6、创建一个目录,用来存放redis.conf

	[root@192 /]# mkdir myredis
	[root@192 redis-4.0.8]#  cp redis.conf /myredis/

7、进入到编辑redis.conf,找到 daemonize no 改为 daemonize yes:

	[root@192 myredis]# vim redis.conf 

8、启动redis:

	[root@192 bin]# redis-server  /myredis/redis.conf 
	[root@192 bin]# redis-cli -p 6379

9、简单测试:

	127.0.0.1:6379> ping 
	PONG
	127.0.0.1:6379> set k1 hello
	OK
	127.0.0.1:6379> get k1
	"hello"
	127.0.0.1:6379> SHUTDOWN
	not connected> exit

10、查看redis进程:

	[root@192 myredis]# ps -ef|grep redis

redis常见的数据类型操作命令:

http://redisdoc.com/

redis持久化:

RDB(redis DataBase):在指定的时间间隔内将内存中的数据集快照写入磁盘。
AOF(Append only file):当数据写入内存中的时候,以日志的形式记录所有的写操作。(数据量较大时,数据的恢复缓慢)

RDB的相关回复策略:

1、修改myredis下的redis.conf

[root@192 bin]# vim /myredis/redis.conf 如下所示

在这里插入图片描述
2、时刻清除掉/usr/local/bin 中dump.rdb(最好开两个终端)

[root@192 bin]# rm -rf dump.rdb

3、然后启动redis服务、set 10个值或者多个。

[root@192 bin]# redis-server /myredis/redis.conf 
[root@192 bin]# redis-cli -p 6379

在这里插入图片描述
4、可以去看看/usr/local/bin 中是否生成dump.rdb文件(2分钟后会生成),并且复制了一份dump_hk.rdb文件,避免丢失。

在这里插入图片描述
5、然后清空这个库以及关闭redis服务。并且删除dump.rdb文件:

127.0.0.1:6379> FLUSHALL
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> SHUTDOWN
not connected> exit

[root@192 bin]# rm -f dump.rdb 

6、然后重启redis服务,去查询刚刚的值,这里你会发现没数据,哈哈,怎么回事呢,这个你需要回到第5步里,FLUSHALL已经清空了这个库,但是shutdown时他也会生成一个dump.rdb文件,相当于保存的是空的dump.rdb文件,所以当你进行这一步时是空的。那需要怎么做呢?嘻嘻,这样搞,关闭该redis服务。

[root@192 bin]# redis-server /myredis/redis.conf 
7622:C 08 Jun 22:42:54.902 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7622:C 08 Jun 22:42:54.902 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=7622, just started
7622:C 08 Jun 22:42:54.902 # Configuration loaded
[root@192 bin]# redis-cli -p 6379
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> SHUTDOWN
not connected> exit

7、关闭之后,去复制dump_hk.rdb 为dump.rdb

[root@192 bin]# cp dump_hk.rdb dump.rdb 
[root@192 bin]# ll
total 35472
-rw-r--r--. 1 root root     172 Jun  8 22:41 dump_hk.rdb
-rw-r--r--. 1 root root     172 Jun  8 22:46 dump.rdb
-rwxr-xr-x. 1 root root 5599550 Jun  7 18:35 redis-benchmark
-rwxr-xr-x. 1 root root 8320907 Jun  7 18:35 redis-check-aof
-rwxr-xr-x. 1 root root 8320907 Jun  7 18:35 redis-check-rdb
-rwxr-xr-x. 1 root root 5738674 Jun  7 18:35 redis-cli
lrwxrwxrwx. 1 root root      12 Jun  7 18:35 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 8320907 Jun  7 18:35 redis-server

在这里插入图片描述
8、复制完毕之后,重启redis服务,输入keys * 发现数据回来了,你懂了吗?小可爱,嘻嘻。

[root@192 bin]# redis-server /myredis/redis.conf 
7692:C 08 Jun 22:46:15.839 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7692:C 08 Jun 22:46:15.839 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=7692, just started
7692:C 08 Jun 22:46:15.839 # Configuration loaded
[root@192 bin]# redis-cli -p 6379
127.0.0.1:6379> keys *
 1) "k4"
 2) "k11"
 3) "k2"
 4) "k5"
 5) "k3"
 6) "k8"
 7) "k12"
 8) "k10"
 9) "k9"
10) "k7"
11) "k6"
12) "k1"
127.0.0.1:6379> set inport inmpoer
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379> keys *
 1) "k4"
 2) "inport"
 3) "k11"
 4) "k2"
 5) "k5"
 6) "k3"
 7) "k8"
 8) "k12"
 9) "k10"
10) "k9"
11) "k7"
12) "k6"
13) "k1"

在这里插入图片描述

AOF

1、使用AOF时,提前复制一份redis.conf,复制为redis_aof.conf,然后进入到redis_aof.conf中,修改appendonly no改为 appendonly yes,如下图:

[root@192 myredis]# cp redis.conf redis_aof.conf 
[root@192 myredis]# ll
total 120
-rw-r--r--. 1 root root 58354 Jun  9 11:05 redis_aof.conf
-rw-r--r--. 1 root root 58354 Jun  8 23:12 redis.conf
[root@192 myredis]# vim redis_aof.conf

在这里插入图片描述
2、移除掉使用RDB时生成的dump_hk.rdb和dump.rdb文件

[root@192 bin]# rm -f dump_hk.rdb 
[root@192 bin]# rm -f dump.rdb 

在这里插入图片描述
3、启动redis服务,查看是否生成appendonly.aof文件,然后添值,添值之后shutdown并退出,按下图所示操作,可以时刻的删除dump.rdb文件(便于观察理解),再重启redis服务。

在这里插入图片描述
在这里插入图片描述

4、为什么上面的set值了缺查询不出来,这个需要去看appendonly文件了,

[root@192 bin]# vim appendonly.aof 

在这里插入图片描述
5、删除之后,重启redis服务,再去检索,发现已查到刚刚set的值。

在这里插入图片描述

补充:如果appendonly.aof人为修改或者突然断机等突发状况时。会怎么样?下面做详细的介绍:

1、我这里修改appendonly.aof文件。
在这里插入图片描述
2、重启redis服务,发现redis服务启动不了。为什么呢?因为你修改了appendonly.aof文件,那么怎么启动呢?看下面一步。
在这里插入图片描述
3、在第2步中,发现redis启动不了,是因为修改了文件,那么怎么处理呢?看下图:再次重启redis服务,发现启动成功,并且值也检索出来了。

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy's

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值