#安装C语言的编译环境
yum install centos-release-scl scl-utils-build
yum install -y devtoolset-8-toolchain
scl enable devtool-8 bash
#安装GCC
yum install gcc
#测试gcc版本
gcc --version
#解压
tar -zxvf redis-6.2.1.tar.gz
cd redis-6.2.1
#编译
make
#安装
make install
#失败了执行 再 make install
make distclean
#安装目录 /usr/local/bin
redis-benchmark:性能测试工具
redis-check-aof:修复有问题的aof文件
redis-check-dump:修复有问题dump.rdb文件
redis-sentinel:集群
redis-server:服务器启动命令
redis-cli:客户端操作入口
cd /usr/local/bin
#前台启动
redis-server
#后台启动
备份redis.conf 到指定目录下
cp redis-6.2.1/redis.conf /myredis
修改redis.conf文件中参数daemonize 改为 yes (服务在后台启动)
注释 bind 127.0.0.1 支持远程访问
将本机访问保护模式设置 protected-mode 为 no
#启动命令
redis-server /myredis/redis.conf
#客户端操作入口
redis-cli
#多个端口登陆客户端
redis-cli -p 6379
#测试验证 ping 显示 pong
#关闭redis
redis-cli shutdown
#指定端口关闭
redis-cli -p 6379 shutdown
#redis 常用命令
数据类型:String、List、Set、Hash、Zset(有序集合)
select 1 切换到1号库 redis有16个库 默认从0开始
dbsize 查看当前数据库key的数量
flushdb 清空当前库
flushall 通杀全部苦
#Key(键的操作)
keys * 查看当前库中所有key
exist key 判断某个key是否存在
type key 查看key数据类型
del key 删除指定key
unlink key 根据value选择非阻塞删除
expire key 10 10秒钟:为指定的key设置过期时间
ttl key 查看还有多少秒过期 -1表示永不过期,-2表示已过期
#String类型
set key value
get key
append key value 追加
strlen key 获取值的长度
setnx key value 只有key不存在的时候 才能设置key的值
incr key key为数字值 加1
decr key key为数字值 减1
incrby key 10 key为数字值 加10
decrby key 12 key为数字值 减12
mset k1 v1 k2 v2 同时设置多个key value
mget k1 k2 k3 同时获取多个key的值
setex key 过期时间 value
getset key value 以新值换旧值 设置新值的同时获取旧值
#List类型
lpush/rpush k1 v1 v2 v3 从左边/右边插入值
lpop/rpop key 从左边/右边吐出一个值 值在键在,值光键亡
lrange k1 0 -1 取所有值(从0,到-1)
#Set类型
sadd key v1 v2 v3 添加集合
smembers k1 取出集合的所有值
sismember k1 v1 判断集合中是否含有该v1 有1,无0
scard k1 返回该集合的元素个数
srem k1 v1 v2 删除集合中的某个元素
spop k1 随机从该集合中吐出一个值
srandmember k1 n 随机从k1集合中取出n个值,不会从集合中删除
smove k1 k2 v1 把k1集合中的一个值v1从一个集合移动到另一个集合k2
sinter k1 k2 返回两个集合的交集元素
sunion k1 k2 返回两个集合的并集元素
sdiff k1 k2 返回两个集合的差集元素(key1中的,不包含k2中的)
#Hash类型
键值对集合 类似java中的Map<String,Object>
hset key field value 给key集合中的filed键赋值value
hget key field 从key集合filed取出value
hmset key field1 value1 filed2 value2 批量设置hash的值
hexists key field 查看哈希表key中,给定field是否存在
hkeys key 列出该hash集合的所有field
hvals key 列出该hash集合的所有value
hincrby key field increment 为哈希表key中的field的值增加1
hsetnx key field value 将哈希表key中的field的值设置为value 仅当field不存在的时候
#Zset类型
zadd key s1 v1 s2 v2 s3 v3 将元素及值添加到有序集合key中 s1评分
zscore key v1 查看元素的score值
zrange key start stop 返回有序集合下标在start、stop之间的元素 0 -1 所有值
zrange key start stop withscores 返回有序集合下标在start、stop之间的元素和值
zrange key minmax withscores 从小到大排序
zrange key maxmin withscores 从大到小排序
zincrby key 50 value 为value增加50
zrem key value 删除key集合下的value
zcount key <min> <max> 统计该集合分数区间的元素个数
zrank key value 返回值在该集合中的排名,从0开始