基于Cenos7安装使用Redis

一、安装Redis

1、安装C语言的编译环境

1 yum install gcc

 

2、下载redis

右键复制下载链接并在终端执行下载命令

Redis官网: https://redis.io/

 

 1 [root@host-yht yht]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
 2 --2021-10-11 10:43:57--  https://download.redis.io/releases/redis-6.2.6.tar.gz
 3 正在解析主机 download.redis.io (download.redis.io)... 45.60.125.1
 4 正在连接 download.redis.io (download.redis.io)|45.60.125.1|:443... 已连接。
 5 已发出 HTTP 请求,正在等待回应... 200 OK
 6 长度:2476542 (2.4M) [application/octet-stream]
 7 正在保存至: “redis-6.2.6.tar.gz”
 8 
 9 100%[===================================================================================================>] 2,476,542    493KB/s 用时 5.3s   
10 
11 2021-10-11 10:44:05 (454 KB/s) - 已保存 “redis-6.2.6.tar.gz” [2476542/2476542])

注意:你要清楚你自己将这个文件下载到哪儿的

 

3、解压

 1 [root@host-yht yht]# tar -zxvf redis-6.2.6.tar.gz
 2 redis-6.2.6/
 3 redis-6.2.6/.github/
 4 redis-6.2.6/.github/ISSUE_TEMPLATE/
 5 以下省略 

 

4、进入redis安装目录使用make命令进行编译

 1 [root@host-yht yht]# cd redis-6.2.6
 2 [root@host-yht redis-6.2.6]# make
 3 //太多省略
 4 .
 5 .
 6 CC redis-cli.o
 7 CC cli_common.o
 8 LINK redis-cli
 9 CC redis-benchmark.o
10 LINK redis-benchmark
11 INSTALL redis-check-rdb
12 INSTALL redis-check-aof
13 
14 Hint: It's a good idea to run 'make test' ;)
15 
16 make[1]: 离开目录“/home/yht/redis-6.2.6/src”

//编译完成

 

5、进行安装

 1 [root@host-yht redis-6.2.6]# make install
 2 cd src && make install
 3 make[1]: 进入目录“/home/yht/redis-6.2.6/src”
 4     CC Makefile.dep
 5 make[1]: 离开目录“/home/yht/redis-6.2.6/src”
 6 make[1]: 进入目录“/home/yht/redis-6.2.6/src”
 7 
 8 Hint: It's a good idea to run 'make test' ;)
 9 
10     INSTALL redis-server
11     INSTALL redis-benchmark
12     INSTALL redis-cli
13 make[1]: 离开目录“/home/yht/redis-6.2.6/src”

//安装成功
1 //进入该目录/usr/local/bin
2 [root@host-yht redis-6.2.6]# cd /usr/local/bin
3 [root@host-yht bin]# ls
4 redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

 

默认安装目录:  /usr/local/bin

redis-benchmark: 性能测试工具

redis-check-aof: 修复有问题的AOF文件
redis-check-dump:修复有问题的dump.rdb文件
redis-sentinel: Redis集群使用
redis-cli: 客户端,操作入口
redis-server: Redis服务器启动命令

 

 

 

二、Redis的简单启动关闭

1、启动

前台启动(不推荐):

1 redis-server

    退出:ctrl+c

后台启动(推荐):

  • 先进性相关配置,进入你的redis目录找到redis.conf文件:
1 [root@host-yht /]# cd /home/yht/redis-6.2.6
2 [root@host-yht redis-6.2.6]# ls
3 00-RELEASENOTES  CONDUCT       COPYING  INSTALL   MANIFESTO  redis.conf  runtest-cluster    runtest-sentinel  src    TLS.md
4 BUGS             CONTRIBUTING  deps     Makefile  README.md  runtest     runtest-moduleapi  sentinel.conf     tests  utils
  • 将redis.con文件复制到另一个目录下(随便):
1 [root@host-yht redis-6.2.6]# cp redis.conf /home/yht/redis.conf
//注意你是复制到的那个目录
  • 对该复制后的配置经行修改:将“daemonize no”改为“daemonize no”

你可以在vim底部命令模式按  "/  + daemo"   进行搜索

  •  后台启动: redis-server [你修改的那个配置文件的目录]/redis.conf
1 [root@host-yht yht]# redis-server /home/yht/redis.conf
  • 查看redis的后台进程,是否启动成功
1 [root@host-yht yht]# ps -ef | grep redis
2 root       3316      1  0 10:05 ?        00:00:00 redis-server 127.0.0.1:6379
3 root       3373   2826  0 10:08 pts/0    00:00:00 grep --color=auto redis

 

2、进入redis终端

1 [root@host-yht yht]# redis-cli
2 127.0.0.1:6379> 

测试验证:

1 127.0.0.1:6379> ping
2 PONG  //连接正常

 

3、关闭redis

  • 可以进入redis终端直接输入shutdown关闭:
1 127.0.0.1:6379> shutdown
2 not connected> 
  • 也可以在centos终端使用使用redis.cli shutdown
1 [root@host-yht yht]# redis-cli shutdown
  • 也可以直接杀掉redis的进程:
1 [root@host-yht yht]# ps -ef | grep redis
2 root       3558      1  0 10:24 ?        00:00:00 redis-server 127.0.0.1:6379
3 root       3564   2826  0 10:24 pts/0    00:00:00 grep --color=auto redis
4 [root@host-yht yht]# kill -9 3558
5 [root@host-yht yht]# ps -ef | grep redis
6 root       3583   2826  0 10:26 pts/0    00:00:00 grep --color=auto redis

 

 

 

三、常用五大数据类型

1、Redis键(key)以及库的简单操作

我先存了三个键方便测试:

1 127.0.0.1:6379> set k1 test
2 OK
3 127.0.0.1:6379> set k2 test2
4 OK
5 127.0.0.1:6379> set k3 test3
6 OK

 

1.1、keys * 查看当前库所有的key

1 127.0.0.1:6379> keys *
2 1) "k3"
3 2) "k2"
4 3) "k1"

 

匹配 : keys *1

1 127.0.0.1:6379> keys *1
2 1) "k1"

 

1.2、exists [key] 判断某个键是否存在

1 127.0.0.1:6379> exists k1
2 (integer) 1  \\返回1存在
3 127.0.0.1:6379> exists k5
4 (integer) 0  \\返回0不存在

 

1.3、type [key] 查看键是什么类型 

1 127.0.0.1:6379> type k1
2 string

 

1.4、删除键

del [key]:

1 127.0.0.1:6379> del k3
2 (integer) 1
3 127.0.0.1:6379> keys *
4 1) "k2"
5 2) "k1"

 

unlik [key]: 根据value选择非阻塞删除,仅将key从keyspace元数据中删除,真正的删除会在后续异步操作

1.5、给指定的key设置过期时间

 expire [k2] [时间]    见1.6

1.6、查看还有几秒过期

 ttl [key]

 返回结果    -1:表示永不过期; -2:表示已经过期

1 127.0.0.1:6379> expire k2 10
2 (integer) 1
3 127.0.0.1:6379> ttl k2
4 (integer) 5  //还有5秒过期
5 127.0.0.1:6379> ttl k2
6 (integer) -2 //已经过期

 

1.7、select [库号] 选择库

1 127.0.0.1:6379> select 6
2 OK

 

1.8、dbsize 查看当前数据库的key数量

1 127.0.0.1:6379> keys *
2 1) "k1"
3 127.0.0.1:6379> dbsize
4 (integer) 1

 

1.9、flushdb 清空当前库

1.10、flushall 清空全部库

 

2、Redis字符串 (String)

2.1、简介:

  1. String是Redis最基本的类型;
  2. String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或序列化的对象;
  3. String类型是Ridis最基本的数据类型,一个Redis中字符串valu最多可以实512M。

2.2、常用命令:

2.2.1、set [key] [value]   添加键值对

            setnx [key] [value]    区别于set,当键不存在时才会设置值,当键存在时不会去覆盖

1 127.0.0.1:6379[6]> set k1 v1
2 OK
3 127.0.0.1:6379[6]> set k2 v2
4 OK
5 127.0.0.1:6379[6]> set k3 v3
6 OK
7 127.0.0.1:6379[6]> set k4 v4
8 OK

 

            如果设置已经存在的键,会覆盖掉之前的值

2.2.2、get [key] 获取键对应的值

1 127.0.0.1:6379[6]> get k1
2 "v1"

 

2.2.3、append [key] [value] 追加内容

1 127.0.0.1:6379[6]> get k1
2 "v1"
3 127.0.0.1:6379[6]> append k1 666
4 (integer) 5  // 返回总长度
5 127.0.0.1:6379[6]> get k1
6 "v1666"

 

2.2.4、strlen [key]  获得长度

1 127.0.0.1:6379[6]> strlen k1
2 (integer) 5

 

2.2.5、incr [key] 与 decr [key]

  前者是将key中存储的数字增1(只能对数字值操作)

  后者是减一

1 127.0.0.1:6379[6]> set k5 10
2 OK
3 127.0.0.1:6379[6]> incr k5
4 (integer) 11
5 127.0.0.1:6379[6]> decr k5
6 (integer) 10

 

 

学习更新中

 

posted @ 2021-10-11 11:26  墨mo水  阅读(40)  评论(0编辑  收藏  举报