redis是高速缓存数据库,格式是一种 key-value(键值对)形式的存储系统,类似于json,一个key只对应一个value,但是一个value对应多个key。是非关系型数据库。
支持的数据类型有 String ,list,set,sorted set,hash.
特点:它的数据主要存在内存中,内存里特点就是读写特别快,远比硬盘来的快很多。可内存中有弊端,就是一旦断电,内存中的数据就全部消失了。所以redis有数据持久化机制,将内存里的数据放到硬盘中。如果redis,宕机了,重启之类的,可以把数据部分还原回来。
应用:1.因为数据存在内存中,数据读写快,所以最多的用处是用作缓存。
客户端访问后端(服务器端),有些数据,先从缓存里查,如果缓存中有要查的数据,那就直接返回给后端,就不去过数据库了。如果缓存中没有就去查数据库,查到后将查的数据放在内存中,下次再查时,缓存中就有了。这种形式可以用来减轻数据库压力,提高查询效率。
2.因为是非关系型数据库,所以一些数据不用往表里存,比如说(点赞数,访问量),这种数据就可以放redis里
3.因为读写快,也可以用来鉴权,cookie和session。比如说登录某系统,登录成功,会给客户端返回一个key。将对应的key 和 value 放到redis里。当用户第二次进来,如果redis里有这个key,就直接登录进来。没有则重新登录。这样不用每次都得登录。
客户端持有的是 key ,value在redis中。
redis安装
redis 安装需要有gcc,请确保有
我用的 xshell
首先进入opt目录
[root@VM-16-8-centos ~]# cd /opt
创建redis文件夹
[root@VM-16-8-centos opt]# mkdir redis
进入redis中然后下载 解压 安装
# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make
看一下就会有
进入redis-6.0.8下的src目录
[root@VM-16-8-centos redis]# cd redis-6.0.8
[root@VM-16-8-centos redis-6.0.8]# cd src
( src 目录下有编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:)
然后启动
# ./redis-server ../redis.conf
redis默认端口号 6379,建议更改。redis.conf是配置文件在 与src是同级目录。
要远程 #去掉保护模式,注释掉bind:127.0.0.1,protected-mode 改为no,
此外就是 redis 安全问题需要考虑,不然服务器会被入侵被挖矿 ,必须
#设置密码 requirepass 你的密码 (大约在 redis.conf 的 790 行)
设置密码后 ,启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了
./redis.cli -p 端口号 -a 你的密码