Redis入门
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区Redis用途:1. 数据库 2. 缓存集群:哨兵、主从、
目录
一、Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
Redis用途:1. 数据库 2. 缓存
集群:哨兵、主从、分片式
学习网址:https://www.w3cschool.cn/redis/
www.redis.cn
www.redis.net.cn
#下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)
二、redis安装
①首先把压缩包拖进自己要存放的目录
端口默认6379
②通过命令解压redis
tar -zxvf redis-5.0.0.tar.gz
③安装gcc
yum install -y gcc
④进入 redis的解压目录,执行make进行编译
⑤修改redis为守护进程(方便启动redis也能够输入命令)
演示没有修改守护进程
启动redis
./src/redis-server redis.conf
启动之后,就什么也操作不了,因为是禁止输入其他命令,如果输入那么服务器就会停止
修改守护进程运行(这边博主备份一下)
cp redis.conf redis.conf.back20221024
修改redis.conf文件
假如没有使用用户管理工具,那么就使用原始的方法进行修改
vi redis.conf
通过 /+要查询的单词进行快速查询,如果第一个不是,按n键就是查找出的下一个
将daemonize no 改为 daemonize yes
启动redis(根据实际路径)
./redis-server ../redis.conf
测试是否启动
./src/redis-cli
ping(如果返回pong说明成功)
到目前为止redis安装成功了,但是还不可以连接,因为有权限问题
开发端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
更新并且查看端口号列表
firewall-cmd --reload && firewall-cmd --zone=public --list-ports
授权,允许远程连接(修改redis.conf文件)
vim redis.conf
查找bind 127.0.0.1
然后设置密码,查找requirepass
杀掉该进程
kill -9 图中红框的数字
重新启动Redis,测试Redis是否能够连接
连接成功
三、Redis常用命令
3.1 前置工作
因为我们加入了守护进程,所有以前直接连接不行,必须带密码和用户端口
-h(主机ip)-p(端口) -a(密码)
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
3.2 string
添加/修改数据
set 键 值
删除
del 键
查
get 键
查看类型
type 键
//string 说明type返回的是键值对存储类型,而不是值存储类型
查看所有或者指定的key
keys *
给键值对设置过期时间
SETEX KEY_NAME TIMEOUT VALUE
获取键值对剩余的存活时间
ttl 键
3.3 Redis哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
同时将多个field-value设置到哈希表key中
hset key field1 value1 [field2 value2
案例
hset user name zs age 12 sex nv
获取指定的字段值
语法
hget key field
案例
hget user age
删除指定的字段值
语法
hdel key field
案例
hdel user age
查询指定key的所有字段
语法
hgetall key
案例
hgetall user
获取指定key中的长度
语法
hlen key
案例
hlen user
3.3 Redis列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
将一个或多个值插入到列表头部
语法
lpush key value1 value2 value3
案例
lpush en a b c d e f g
获取列表的长度
语法
llen key
案例
llen en
根据索引获取列表中的元素
语法
lindex key index
案例
lindex en 1 #返回f,说明下标从0开始,同时先进后出
查看指定范围内的元素
语法
lrange key start sop
案例
lrange en 1 3 (返回fed,说明下标从0开始,同时先进后出)
3.4 Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
向集合添加一个或多个元素
语法
sadd key value1 [value2]
案例
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu
获取集合中的元素数量
语法
scard key
案例
scard hobby
是否存在
语法
exists key
案例
exists hobby (1代表存在 0代表不存在)
3.5 有序集合(sort set)
参考文档
https://www.w3cschool.cn/redis/redis-sorted-sets.html
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)