可参考:[菜鸟教程]https://www.runoob.com/redis/redis-install.html
准备redis压缩包
从官网下载6.0.5版本:https://redis.io/download
解压
将redis压缩包redis-6.0.5.tar.gz放入/home/目录下解压
$ tar xzf redis-6.0.5.tar.gz
安装redis
$ cd /redis-6.0.5
注意,使用make命令出现错误:
Centos默认gcc是4.8.5,而redis6.0+需要的gcc版本为5.3及以上,所以升级gcc即可。并将该依赖包需下载下来,用于离线使用。
解决方法:
$ gcc -v # 查看gcc版本
$ yum -y install centos-release-scl # 升级到9.1版本
$ yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
$ scl enable devtoolset-9 bash # 临时将gcc版本改为9
确保gcc版本为9以上再使用下面的make命令!
$ make
(make完后 redis-6.0.5目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下。)
修改redis配置文件
$ vim redis.conf
使用#注释bind 127.0.0.1
protected-mode yes 改成 no (允许远程访问)
daemonize no 改成yes (配置redis为后台启动)
requirepass foobared 改成 123456 (设置访问密码)
启动redis服务
通过参数告诉redis使用指定配置文件启动
$ cd src
$ ./redis-server ../redis.conf
启动redis客户端和redis服务交互
$ cd src
$ ./redis-cli --raw (--raw参数使返回中文为utf8编码)
$ auth 123456 (输入登陆密码获得操作权限,否则显示NOAUTH Authentication required)
$ quit (退出程序)
停止redis服务
$ pkill redis
******************************************************************************
redis简单介绍
redis是用来做缓存的
redis服务监听端口:6379
redis默认使用数据库 0,可使用select 0显示指定
基本操作:增加,查询,删除
redis五种数据类型:string(字符串), list(列表), hash(哈希), set(集合), sorted set(有序集合)
使用命令行和redis交互
通用命令:
> del keyname # 删除key
> dump keyname # 序列化key的值 ,并返回被序列化后的值
> exists keyname # 检查key是否存在
> keys keyna* # 获取符合模糊匹配的key列表
> rename old_ky new_ky # 修改 key的名称。当new_ky已存在时,一并将old_ky的值覆盖修改
> renamenx old_ky new_ky # 只有当new_ky不存在时,才修改 old_ky的名称
> expire keyname 60 # 设置key的过期时间为60s(expire秒)
> pexpire keyname 1500 # 设置key的过期时间为1500ms(pexpire毫秒)
> ttl keyname # 获取key 剩余的过期时间(秒)
> pttl keyname # 获取key 剩余的过期时间(毫秒)
string:
> set keyname 张三 # 设置key的值
> get keyname # 获取key的值
> getrange keyname 0 -1 # 获取key的值的子字符串
> getset keyname 张三 # 设置key的新值,并返回key的旧值
> setex keyname 60 张三 # 设置key的值和过期时间(expire秒)
> ttl keyname # 获取key的过期时间
> setnx keyname 李四 # 只有当key不存在时,才设置key的值
hash:
> hmset keyname name1 张三 name2李四
> hget keyname name1
> hgetall keyname
list:
> lpush keyname 张三
> lpush keyname 李四
> lrange keyname 0 10
set:
> sadd keyname 张三
> sadd keyname 李四
> smembers keyname
zset:
(zset的成员是唯一的,但分数(score)却可以重复。score越大越往后排)
> zadd keyname 1 张三
> zadd keyname 2 李四 # 张三score为1,李四为2,所以张三排在李四前面
> zrange keyname 0 10 withscores