1. Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区学习网址:https://www.w3cschool.cn/redis/
www.redis.cn
www.redis.net.cnRedis用途:1. 数据库 2. 缓存
集群:哨兵、主从
2. 下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)
3.安装和配置
3.1:window安装直接下载减压就好了,如果想把redis加到系统服务里面,去查一下相关资料
3.2 linux(CentOs安装redis)
解压redis
tar -zxvf redis-5.0.0.tar.gz -zxf 静默解压方式
cd redis-5.0.0
安装gcc
yum install gcc
有可能出现一个已安装未启动的错误,直接删掉重新装
编译redis
cd /redis-5.0.0--先进入该目录
make
检测安装情况
make install
修改redis.conf文件 (命令模式下输入“/字符串”,例如:“/requirepass”,再按N键向下查找)
将daemonize no 改为 daemonize yes
可以把bind 直接注释或者改成 bind 0.0.0.0
dir 默认是 ./ 这个是持久化文件,会去etc创建dump.rdb文件储存数据
logfile 是日志
其他配置另行添加
启动redis
找到有redis-service的目录运行
./redis-service /自己redis.conf 的路径
测试redis启动是否成功
redis-cli --进入redis
ping 如果返回pang 就说明成功了
4.设置为开机自启动 (可选)
进入到 /etc/systemd/system 创建 redis.service文件
内容如下 (安装路径放自己的)
[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/usr/local/redis-5.0.0/src/redis-server /usr/local/redis-5.0.0/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
服务命令
systemctl daemon-reload 重载服务
systemctl start redis #启动redis服务
systemctl stop redis #停止redis服务
systemctl enable redis #开机启动redis服务
5. Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
6.通过命令操作redis
redis默认的数据库有16,mongodb是3个:admin/local/test
# redis-cli //打开redis终端
auth 登录
select 跟换数据库
注:配置完成密码后,以后登录就密码按下面的命令进行登录
redis-cli -h 127.0.0.1 -p 6379 -a 123456# ping //测试redis是否安装成功
# select index //选择指定的数据库
配置redis的6379端口到防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
7.redis数据介绍
Redis字符串(String)
# set key //保存
# get key //获取
# type key //查看类型
# keys *或keys key //查看所有或者指定的key
Redis哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
# hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中
# hget key field #获取指定的字段值
# hdel key field #删除指定的字段值
# hgetall key #查询指定key的所有字段
# hexists key field #查询指定key中的字段是否存在
# hlen key #获取指定key中的长度Redis列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
# lpush key value1 value2 value3 #将一个或多个值插入到列表头部
# llen key #获取列表的长度
# lindex key index #根据索引获取列表中的元素
# lrange key start sop #查看指定范围内的元素Redis集合(Set)Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。# sadd key value1 [value2] #向集合添加一个或多个元素# scard key #获取集合中的元素数量# sscan key cursor [MATCH pattern] [COUNT count] #迭代集合中的元素# exists key #是否存在