基于键值型的NoSQL数据库
键值型,value支持多种不同数据类型
单线程,每个命令具有源自型
低延迟,速度快
支持数据持久化
支持主从,分片集群
支持多语言客户端
1)安装源码软件
yum -y install gcc
2)下载redis包
wget https://repo.huaweicloud.com/redis/redis-4.0.8.tar.gz
3)解压并进入redis目录
tar -zvxf redis-4.0.8.tar.gz
cd redis-4.0.8/
ls
4)源码编译安装
make && make install
5)进入utlis目录初始化redis
cd utils/
./install_server.sh
输完以上命令会出现输入,过程直接默认回车即可。安装完成后 如下图
6)查看服务状态
/etc/init.d/redis_6379 status
7)查看监听的端口
netstat -antupl |grep :6379
8)查看进程
ps -C redis-server
9)停止服务
/etc/init.d/redis_6379 stop
10)连接redis并进入redis
/etc/init.d/redis_6379 start
redis-cli
11)使用ping命令测试链接状态,出现PONG说明服务正常
ping
12)修改密码
vim redis.conf
添加requirepass 密码
13)设置在后台运行redis
打开并编辑redis.conf,把daemonize设置为yes
设置好后保存并退出。
在重启前最好先将redis服务停掉
ps -ef | grep redis 找到redis进程pid
kill -9 redis pid
重新启动redis:
./redis-server /usr/local/redis-3.2.8/redis.conf
redis.conf配置文件中daemonize守护线程,默认是NO,daemonize是用来指定redis是否要用守护线程的方式启动。
14)登录
redis-cli -a 123 //密码登录
也可以进入redis-cli
命令行输入AUTH 密码
如果windows主机要连接linux中的主机将redis.conf中的内容bind 127.0.0.1注释掉并将配置文件的 protected-mode yes 改为 protected-mode no,并关闭防火墙
关闭防火墙
systemctl status firewalld 查看防火墙状态
systemctl start firewalld 开启防火墙 (service firewalld start)
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 禁止开机启动防火墙
KEYS 查看所有符合模板的key
DEL 删除指定的key
EXISTS 判断key是否存在
EXPIRE 给key设置一个有效期
TTL 查看key的有效期
这里的-2 代表key值已过期,-1表示key值永久,不会过期
SET 添加,或者修改一个已经存在的String类型的键值对
GET 根据key值获取String类型的value值
MSET 批量添加多个String类型的键值对
MGET 根据key获取多个String类型的值
INCR 设置指定的整型的key自增1
INCRBY 设置指定的整型的key指定步长自增
INCRBYFLOAT 设置指定的浮点型的key指定步长自增
SETNX 如果key存在则不添加,否则则增添指定的键值对
SETEX SET与EXPIRE 的结合,在创建键值队是设置过期时间
注意SETEX这个命令,后跟的为 key expiretime value
HSET key field value 增加或者修改hash类型key的field的值
HGET key field 获取一个hash类型的key的field的值
HMSET 批量增加多个hash类型的key的field的值
HMGET 获取多个hash类型的key的field的值
HGETALL 获取一个hash类型的key中所有的field 和value
HKEYS 获取hash类型中指定key中的所有key
HVALS 获取hash类型中key中所有的value值
HINCRBY 让一个hash类的的key中某个field中的value以指定步长自增
HSETNX 如果hash类型的key字段的field存在则不会添加,否则将添加这个field的值
类似为数据结构的双端队列
LPUSH key value 从队列的左边插入键值对(一个或多个)
LPOP key 移除并返回列表左侧第一个元素,没有则返回nil
RPUSH key value 从队列的右边插入键值对(一个或多个)
RPOP key 移除并返回列表右侧第一个元素,没有则返回nil
LRANGE key star end返回指定角标范围内的所有元素
BLPOP和BRPOP 与LPOP与BPOP类似,只不过没有元素则进行等待
SADD key member 向set中添加一个或者多个元素
SREM key member 向set中移除指定key的元素
SCARD key 返回set中key元素的个数
SISMRMBER key member 判断一个元素是否存在set的key中
SMEMBERS key 获取set中key所有的元素
SINTER key1 key2 交集
SDIFF key1 key2 差集(k1 相较于k2 所特有的)
SUNION key1 key2 并集
可排序的set集合,默认是升序的,若要降序则在命令的Z后面添加REV即可
ZADD key score member 添加一个或者多个元素,如果已存在则更新
ZREM key member 删除指定元素
ZSCORE key member 获取指定元素的score值
ZRANK key member 获取指定元素的排名
ZCARD key 获取元素个数
ZCOUNT key min max 统计score值在给定范围内所有元素的个数
ZINCRBY key increment member设置元素以指定步长自增
ZRANGE key min max 按照score排序后,获取指定范围内的元素
ZRANGEBYSCORE key min max 按照score排序后,获取score范围内的元素
ZDIFF 差集
ZINTER 交集
ZUNION 并集
注意这里的ZCOUNT 范围是score的范围,默认排序为升序,而Z后加REV则改为升序