初识Redis及环境搭建
一、简介
Redis是NoSql数据库,默认有16个库,从0~15,初始是db0,数据都存储在内存中,支持持久化,其持久化的作用主要用作备份恢复。支持多种数据结构,除了key-value结构外,还支持list、hash、set、zset等等。
主要可以使用但不限于以下的场景:
- 做关系型数据库的高速缓存
- 分布式场景下做session共享
- 排行榜,TopN等,利用zset有序集合
- 计数器、秒杀,利用incr、decr原子性
- 队列,list
- 发布订阅,pub/sub
二、安装
本文将展示在centos 7.6安装Redis 6.2.6版本。
官方地址:redis.io/ , 我们在官网下载安装文件:
-
将下载后的文件上传到服务器的/opt下
-
安装C语言编译环境
yum install centos-release-scl scl-utils-build
yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
-
看下gcc的版本:
[root@hecs-402944 opt]# gcc --version gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
解压上传到/opt下的redis-6.2.6.tar.gz
tar -zxvf redis-6.2.6.tar.gz
-
进入/opt/redis-6.2.6,并执行make编译
cd redis-6.2.6 make
-
isntall
[root@hecs-402944 redis-6.2.6]# make install cd src && make install make[1]: 进入目录“/opt/redis-6.2.6/src” CC Makefile.dep Hint: It's a good idea to run 'make test' ;) INSTALL redis-server INSTALL redis-benchmark INSTALL redis-cli make[1]: 离开目录“/opt/redis-6.2.6/src”
-
查看安装目录,默认目录是/usr/local/bin
cd /usr/local/bin
看到下面有这些和redis直接相关的内容:
-
redis-benchmark:性能测试工具
-
redis-check-aof:修复有问题的AOF文件
-
redis-check-dump:修复有问题的dump.rdb文件
-
redis-sentinel:Redis集群使用
-
redis-server:Redis服务器启动命令
-
redis-cli:客户端
-
-
回到/opt/redis-6.2.6当中,拷贝文件redis.conf到我们自己创建的文件夹
[root@hecs-402944 opt]# cd redis-6.2.6 [root@hecs-402944 redis-6.2.6]# mkdir /opt/myredis [root@hecs-402944 redis-6.2.6]# cp redis.conf /opt/myredis/redis.conf
-
修改拷贝出来的redis.conf
vi /opt/myredis/redis.conf
修改其中的
daemonize no
为daemonize yes
,是redis能够后台启动 -
设置密码
在redis.conf当中,添加下面的配置,设置密码。
requirepass 密码
-
配置日志文件
在redis.conf当中,添加下面配置:
logfile "/opt/myredis/logs/redis.log"
注意,启动报错的话需要手动创建下日志文件目录。
-
启动redis
redis-server /opt/myredis/redis.conf
查看是否启动:
[root@hecs-402944 redis-6.2.6]# ps -ef|grep redis root 4712 1 0 10:51 ? 00:00:00 redis-server 127.0.0.1:6379
-
使用redis-cli,查看是否启动成功
[root@hecs-402944 redis-6.2.6]# redis-cli 127.0.0.1:6379> ping PONG
-
需要外网ip访问,请注意redis安装的服务器防火墙是否开始6379端口,云服务器请配置安全组策略。同时注意修改redis.conf,主要是下面两个点:
bind 127.0.0.1 -::1
,此配置如果开启了需要注释掉,即可开放外网访问protected-mode yes
, 此配置需要修改为no,是保护本机访问模式的配置,开启的话仍然无法外网访问 重启redis,并查看:
[root@hecs-402944 redis-6.2.6]# ps -ef|grep redis root 4712 1 0 10:51 ? 00:00:00 redis-server 127.0.0.1:6379 root 8635 27628 0 10:54 pts/0 00:00:00 grep --color=auto redis [root@hecs-402944 redis-6.2.6]# vi /opt/myredis/redis.conf [root@hecs-402944 redis-6.2.6]# kill -9 4712 [root@hecs-402944 redis-6.2.6]# redis-server /opt/myredis/redis.conf [root@hecs-402944 redis-6.2.6]# ps -ef|grep redis root 21392 1 0 11:05 ? 00:00:00 redis-server *:6379 root 21485 27628 0 11:05 pts/0 00:00:00 grep --color=auto redis
如上发现从
127.0.0.1:6379
变成了*:6379
,此时已开启外网访问。使用工具测试连接成功:
三、key的常用操作命令
redis有一系列常用的命令,无论你操作任何类型都是离不开的,我将它们列举在下面,方便查阅,同时可以通过下面两个网址查看redis命令:
-
查看当前库所有key
keys *
-
判断某个key是否存在,存在返回1,不存在返回0
exists key
-
查看你的key是什么类型,返回类型
type key
-
删除指定的key数据
del key
-
根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
unlink key
-
为给定的key设置过期时间, 如下10秒
expire key 10
-
查看还有多少秒过期,-1表示永不过期,-2表示已过期
ttl key
-
切换数据库, db_index是0~15
select db_index
-
查看当前数据库的key的数量
dbsize
-
清空当前库
flushdb
-
清空全部库
flushall
转载自:https://juejin.cn/post/7081460832130826277