目录
一、Redis简介
二、Redis安装
1、Linux版
1.1、下载
1.2、导入
1.3、解压
1.4、安装
1.5、修改文件
1.6、启动redis
1.7、测试
1.8、结束进程
1.9、修改密码访问
1.10、安装客户端工具&连接
2、Windows版
2.1、下载
2.2、安装
2.3、修改
2.4、连接
三、Redis命令
1、相关命令
2、常用命令
2.1、五大字符串(string)
2.2、Redis哈希(Hash)
2.3、Redis列表(List)
2.4、Redis集合(Set)
一、Redis简介
Redis(Remote Dictionary Server)是一个开源(BSD许可)的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等,这些数据结构可以通过丰富的命令集进行操作。
与传统数据库系统相比,Redis具有较高的性能和可扩展性。它将数据存储在内存中,因此可以实现很低的读写延迟,并能够处理高并发的请求。此外,Redis还支持数据的持久化,可以将内存中的数据定期保存到磁盘上,以防止数据丢失。
Redis还具有一些其他的特性,如发布订阅机制、事务支持、键过期等。它还提供了一些附加功能,如实时统计数据、分布式锁等,使得它在各种应用场景中都得到广泛应用。
总而言之,言而总之,Redis是一个高性能、灵活且易于使用的数据存储系统,适用于需要快速读写操作和高并发访问的场景,比如缓存、会话管理、消息队列等。
二、Redis安装
1、Linux版
1.1、下载
首选找到我们的官网进行版本选中下载 |雷迪斯 (redis.io)。
1.2、导入
打开Linux系统我们把安装包导入进去。
1.3、解压
解压到我们的redis
命令:tar -xvf redis-5.0.0.tar.gz
1.4、安装
进入解压好的文件里面进行安装。安装:make
等待安装完成,我们检测安装情况:make install
1.5、修改文件
修改redis.conf文件,在修改文件之前我们先进行一个备份,防止更改错误:cp redis.conf redis_bak.conf
修改redis.conf命令:vim redis.conf
将daemonize no 改为 daemonize yes
1.6、启动redis
启动我们的redis :./src/redis-server redis.conf
再查看我们的redis端口启动没有:lsof -i:6379
如图我们是已经开启了
1.7、测试
测试redis启动是否成功
命令:./redis-cli
命令:ping
1.8、结束进程
使用命令:kill -9 PID 结束进程
1.9、修改密码访问
以上为无密码链接,修改为有密码,并且进行外部访问。
修改redis.conf吻技安
注释:bind 127.0.0.1
修改:requirepass 123456
设置端口之前记得确保防火墙是开启状态
命令1:firewall-cmd --zone=public --add-port=6379/tcp --permanent
命令2:firewall-cmd --reload && firewall-cmd --list-port重新连接
- 重启:./src/redis-server redis.conf
- 查看是否开启端口:lsof -i:6379
- 登录:./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
- -h:host 主机
- -p:prot 端口号
- -a:authentication 权限密码
- 命令:ping
1.10、安装客户端工具&连接
在主机安装客户端工具RedisInsight | The Best Redis GUI。进行下载安装.
2、Windows版
2.1、下载
首选找到我们的官网进行版本选中下载 |雷迪斯 (redis.io)。
2.2、安装
解压下载文件,编写文件把一下代码放进去更改后缀为bat文件
cd Redis-x64-3.2.100 #进入解压文件 redis-server redis.windows.conf #安装
双击bat文件
安装完成
2.3、修改
修改redis.windows.conf文件
注释:bind 127.0.0.1
修改:requirepass 123456
2.4、连接
三、Redis命令
1、相关命令
ping : 检测连接是否存活
echo: 在命令行打印一些内容
quit、exit: 退出客户端
shutdown: 退出服务器端
info: 返回redis相关信息
config get dir/* 实时传递接收的请求
showlog: 显示慢查询
select n: 切换到数据库n,redis默认有16个数据库(DB 0~DB 15),默认使用的第0个
dbsize: 查看当前数据库大小
move key n: 不同数据库之间数据是不能互通的,move移动键到指定数据库
flushdb: 清空当前数据库中的键值对。
flushall: 清空所有数据库的键值对。
2、常用命令
2.1、五大字符串(string)
- set key value: 设置一个key的value值
- setnx key value: 仅当key不存在时进行set
- setex key seconds value: set 键值对并设置过期时间
- mset key value [key value …]: 设置多个key value
- msetnx key1 value1 [key2 value2…]: 批量设置键值对,仅当参数中所有的key都不存在时执行,原子性操作,一起成功,一起失败
- get key: 返回key的value
- mget key [key …] : 批量获取多个key保存的值
- exists key [key …]: 查询一个key是否存在
- decr/incr key: 将指定key的value数值进行+1/-1(仅对于数字)
- incrby/decrbyB key n: 按指定的步长对数值进行加减
- incrbyfloat key n: 为数值加上浮点型数值
- append key value: 向指定的key的value后追加字符串
- strlen key: 返回key的string类型value的长度。
- getset key value: 设置一个key的value,并获取设置前的值,如果不存在则返回null
- setrange key offset value: 设置指定位置的字符
- getrange key start end: 获取存储在key上的值的一个子字符串
- type key:string 说明type返回的是键值对存储类型,而不是值存储类型
2.2、Redis哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。```
# hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv# hget key field #获取指定的字段值
hget user age# hdel key field #删除指定的字段值
hdel user age# hgetall key #查询指定key的所有字段
hgetall user# hexists key field #查询指定key中的字段是否存在
hexists user name# hlen key #获取指定key中的长度
hlen user
2.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开始,同时先进后出
2.4、Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
# sadd key value1 [value2] #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu# scard key #获取集合中的元素数量
scard hobby# exists key #是否存在
exists hobby