【服务器】Redis的安装及使用命令(Linux、Windows版)-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
一、Redis简介
RedisRemote 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
设置端口之前记得确保防火墙是开启状态
命令1firewall-cmd --zone=public --add-port=6379/tcp --permanent
命令2firewall-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 切换到数据库nredis默认有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 keystring 说明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