0. 学习网址
https://www.w3cschool.cn/redis/
https://www.w3cschool.cn/redis/
1. Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
学习网址:
https://www.w3cschool.cn/redis/ www.redis.cn www.redis.net.cn
Redis用途: 1. 数据库 2. 缓存 集群:哨兵、主从、分片式
2. 下载
代码语言:javascript复制redis-5.0.0.tar.gz(linux)
代码语言:javascript复制 Redis-x64-3.2.100.msi(window安装版)
代码语言:javascript复制Redis-x64-3.2.100.zip(window解压版)
3. 安装和配置
3.1 window(略...)
3.2 linux(CentOS)
3.2.1.解压redis
代码语言:javascript复制$ tar -zxvf redis-5.0.0.tar.gz -C /usr/local/
代码语言:javascript复制$ tar -zxf redis-5.0.0.tar.gz -C /usr/local/
代码语言:javascript复制$ cd redis-5.0.0
3.2.2.安装gcc
代码语言:javascript复制$ yum install gcc
3.2.3.编译redis
代码语言:javascript复制$ cd /redis-5.0.0
代码语言:javascript复制$ make
3.2.4.检测安装情况
代码语言:javascript复制$ make install
3.2.5.修改redis.conf文件
将daemonize no 改为 daemonize yes
3.2.6.启动redis
代码语言:javascript复制./redis-server /lky/redis-5.0.0/redis.conf
查看redis进程:ps -ef | grep redis 杀掉redis进程:kill -9 进程pid
3.2.7.测试redis启动是否成功
代码语言:javascript复制ping
3.2.8.配置成系统服务
1)配置redis日志文件路径(可选)
代码语言:javascript复制logfile "redis安装目录/logs/redis.log"
2)新建redis.service文件,配置成系统服务
代码语言:javascript复制vi /usr/lib/systemd/system/redis.service
具体redis.service文件内容配置,详见redis.service
3.2.9.重载系统服务
代码语言:javascript复制systemctl daemon-reload
3.2.10.启动redis
代码语言:javascript复制 systemctl start redis #启动redis服务
systemctl stop redis #停止redis服务
systemctl status redis #查看redis状态
systemctl restart redis #重启redis服务
systemctl enable redis #注册服务
systemctl disable redis #注销服务
4. Redis支持五种数据类型
string(字符串) hash(哈希) list(列表) set(集合) zset(sorted set:有序集合)
5.通过命令操作redis
redis默认的数据库有16,mongodb是3个:admin/local/test
5.1 基本命令:
代码语言:javascript复制# redis-cli //打开redis终端 注:配置完成密码后,以后登录就密码按下面的命令进行登录
redis-cli -h 127.0.0.1 -p 6379 -a 123456
# ping //测试redis是否安装成功 # select index //选择指定的数据库
5.2 Redis字符串(String)
# set key //保存 # get key //获取 # type key //查看类型 # keys *或keys key //查看所有或者指定的key
5.3 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中的长度
5.4 Redis列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
# lpush key value1 value2 value3 #将一个或多个值插入到列表头部 # llen key #获取列表的长度 # lindex key index #根据索引获取列表中的元素 # lrange key start sop #查看指定范围内的元素
5.5 Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
# sadd key value1 [value2] #向集合添加一个或多个元素 # scard key #获取集合中的元素数量 # sscan key cursor [MATCH pattern] [COUNT count] #迭代集合中的元素 # exists key #是否存在