赞
踩
说明
Windows 版本的 Redis 是 Microsoft 的开源部门提供的 Redis. 这个版本的 Redis 适合开发人员学习使用,生产环境中使用 Linux 系统上的 Redis, 这里讲解了这两种的安装和下载。按照你们需要的liunx 或window步骤来 就可以了(也可以留言,后面看反馈决定是否反馈,Liunx版和Window版)
NOSQL(not only sql) 不仅是sql,它是所有非关系型数据库的一种统称。
NOSQL和RDBMS的区别
RDBMS --关系型数据库
- 高度组织化结构化数据。 --表结构 列 列....
- 结构化查询语言(SQL) sql语句
- 数据和关系都存储在单独的表中。
- 数据操纵语言DML,数据定义语言DDL
- 严格的一致性. ACID 原子性 隔离性 持久性 一致性
- 基于事务----都支持事务
NOSQL--非关系型数据库
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 键 - 值对存储。
- 非结构化和不可预知的数据 字符串 集合 对象 队列
- 高性能,高可用性和可伸缩性。 ----便于搭建集群---挂载
redis: 典型的非关系数据库---结构基于key和value的形式
mongodb---介于关系型数据库和非关系数据库之间hbase: 数据库【海量数据】
Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
redis它是一个开源的数据库,缓存的服务器,它里面可以存放字符串,hash,列表,集合数据类型的数据,它的计算基于内存进行计算的。而且数据也可以持久化到磁盘中。 而且它也提高了哨兵模式以及集群模式来提高redis的可用性。
redis特点
Redis读取的速度是110000次/s,写的速度是81000次/s
Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。 ---影响redis性能的因素:内存而不是多线程
支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
持久化--磁盘--防止数据丢失
官方不支持window系统,但是又第三方版本。 linux系统。
下载历史版本
下载命令:wget http://download.redis.io/releases/redis-5.0.4.tar.gz
1、双击 redis-server.exe 启动 Redis
2、打开cmd,进入到刚才解压到的目录
3、启动临时服务,输入命令:
redis-server.exe redis.windows.conf
(备注:通过这个命令,会创建Redis临时服务,不会在window Service列表出现Redis服务名称和状态,此窗口关闭,服务会自动关闭。)
默认端口:6379
有的机器双击 redis-server.exe 执行失败,找不到配置文件,可以采用以下执行方式: 在命令行(cmd)中按如下方式执行:
打开另一个cmd窗口,客户端调用:redis-cli.exe -h 127.0.0.1 -p 6379
1、进入Redis安装包目录,安装服务:
方式一:
redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose
方式二:
redis-server --service-install redis.windows.conf
2、 win+r -> services.msc
可以看到服务安装成功
不指定服务名称:则为默认的Resis
Redis使用:
安装服务(redis-install.bat):redis-server --service-install redis.windows.conf
开启服务(start-redis.bat):redis-server --service-start
停止服务(stop-redis.bat):redis-server --service-stop
卸载服务(redis-uninstall.bat):redis-server --service-uninstall
- 安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose
-
- 启动服务:redis-server.exe --service-start --service-name redisserver1
-
- 停止服务:redis-server.exe --service-stop --service-name redisserver1
-
- 卸载服务:redis-server.exe --service-uninstall--service-name redisserver1
-
- 卸载服务失败,可以用管理员命令执行一下命令:sc delete redisserver1
由于Redis默认只允许本地访问,要使Redis可以远程访问,需修改redis对应的配置文件;
我使用的Redis版本为:redis 3.0 ,默认使用的是redis.windows.conf
注:Redis查看版本信息方法:
使用redis-server.exe 命令启动Redis服务端之后,再使用redis-cli.exe启动客户端,然后在客户端中输入 info 命令即可查看。
确认redis服务运行的配置文件,查找redis服务:
由于redis运行的配置文件是 redis.windows.conf,所以需要修改对应的配置文件。
修改两个地方即可:
方式一:
设置密码将redis-windows.conf配置文件中的 #requirepass foobared 的#号去掉改为自己的密码即可
设置好保存后,若要使设置起作用,需要重启redis服务
重启后需要输入密码
方式二:
打开 requirepass 的注释,在其后面配置密码
requirepass password
客户端连接redis
redis-cli -h localhost -p 6379 -a 123456
如:想清理缓存,可直接把进程杀掉后重启redis
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
Linux 解压命令:tar -xzvf redis-5.0.5.tar.gz
进入redis-5.0.5可以看到redis的配置文件redis.conf
使用gcc -v 命令查看gcc版本已经是4.8.5了,于是就没有再次安装,直接执行make,安装完之后再次make,出现图片内容即可。
- yum install gcc-c++
- make
- make
- make install //确认安装的东西
redis默认安装路径是 /usr/local/bin
在该目录下可以看到redis的客户端和服务端
cd /usr/local/bin/
将redis的配置文件拷贝到新建的目录myredis-config下
我们以后就使用myredis-config下的配置文件,错了还可以回到原来那里取
- mkdir myredis-config
- cp /home/caoyinyuan/redis-5.0.5/redis.conf myredis-config
redis默认不是后台启动,需要修改配置文件
按图修改文件,将daemonize的值修改为yes
vim redis.conf
1、回到bin目录下
2、启动redis服务端,通过指定的配置文件启动服务
[root@Lzdwtl bin]# redis-server myredis-config/redis.conf
- [root@Lzdwtl bin]# redis-cli -p 6379
- # 如果redis设置有密码,则需要现认证才能发送信息,"123456"是redis的密码
- 127.0.0.1:6379> auth "123456"
复制一个新的会话,然后执行下面命令查看进程状态
ps -ef|grep redis
执行shutdown和exit即可推出redis服务,再次查看也发现redis的服务端和客户端进程都消失了
- 127.0.0.1:6379> shutdown
- not connected> exit
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
redis 默认为 16 个库 (在redis.conf 文件可配置,该文件很重要,后续很多操作都是这个配置文件) redis 默认自动使用
0 号库
- redis >ping 返回 PONG
- 解释:输入 ping,redis 给我们返回 PONG,表示 redis 服务运行正常
语法:dbsize
作用:返回当前数据库的 key 的数量。返回值:数字,key 的数量
例:先查索引 5 的 key 个数, 再查 0 库的 key 个数
Redis默认使用16个库,从0到15。 对数据库个数的修改,在redis.conf 文件中databases 16
使用其他数据库,命令是 select index
例 1: select 5
语法:keys pattern
作用:查找所有符合模式 pattern 的 key. pattern 可以使用通配符。通配符:
*:表示 0-多个字符,例如:keys * 查询所有的 key。
?:表示单个字符,例如:wo?d , 匹配 word , wood
例 1:显示所有的 key
例 2:使用 *表示 0 或多个字符
例 3:使用?表示单个字符
语法:exists key [key…]
作用:判断key 是否存在
返回值:整数,存在 key 返回 1,其他返回 0.使用多个 key,返回存在的key 的数量。
例 1:检查指定 key 是否存在
例 2:检查多个 key
语法:expire key seconds
作用:设置key 的生存时间,超过时间,key 自动删除。单位是秒。返回值:设置成功返回数字 1,其他情况是 0 。
例 1:设置红灯的倒计时是 5 秒
语法:ttl key
作用:以秒为单位,返回 key 的剩余生存时间(ttl: time to live) 返回值:
-1 :没有设置 key 的生存时间, key 永不过期。
-2:key 不存在
数字:key 的剩余时间,秒为单位
例 1:设置 redlight 的过期时间是 10,查看剩余时间
语法:type key
作用:查看key 所存储值的数据类型返回值:字符串表示的数据类型
none (key 不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)
例 1:查看存储字符串的 key:wood
例 2:查看不存在的key
语法:del key [key…]
作用:删除存在的key,不存在的key 忽略。返回值:数字,删除的 key 的数量。
例 1:删除指定的 key
官网地址:https://redisdesktop.com/download
Github地址:https://github.com/RedisInsight/RedisInsight
百度云下载链接:https://pan.baidu.com/s/1JnS_44SBup0heHBP1TgWoQ
提取码:vk2k
2.1、解压安装包
2.2、双击运行"resp-2022.1.0.0.exe"程序进行安装
2.3、接受软件安装协议;
2.4、选择安装目录;
2.5、安装完成之后,打开软件即可
2.6、安装后启动界面:
2.7、使用 Redis Desktop Manage 管理工具 连接 Redis:
2.8、使用 Redis Desktop Manage :
默认有16个db分块。接下里可以进行相应的操作
这里选择db0,点击“+”,新建键值对,键名“a”,键值“小张”,点击保存
如图,打开命令窗口,输入命令“get a”,回车,输出“小张”,说明值已经设置成功;
然后在命令窗口输入命令“set a 丁丁”,回车,刷新db0,则显示值已经变为丁丁。说明获取了值,且值已经改变。
redis 默认只允许自己的电脑(127.0.0.1)连接。如果想要其他电脑进行远程连接,将 配置文件 redis.conf 中的 bind
127.0.0.1 后添加自己的 ip 即可。然后重新运行 redis 服务。
- redis.conf 中修改:
- 1. bind 127.0.0.1 改为bind 0.0.0.0
- 2. .protected-mode no
- 3. 设置redis秘密,requirepass 123456
或者 bind 地址改为 0.0.0.0 允许所有 ip 访问。 找到 这一项 daemonize no 把这一项的 no 改成 yes
(这一项主要是让 redis 在后台开启一个守护进程,保持一致开启 redis 服务)
IDEA中的Redis插件作为Redis的可视化工具,可以通过该插件连接Redis服务器,并进行增删改查操作。
如果远程连接不成功,可能和上面用Redis管理工具的情况一样,按照上面的进行检查
1、点击 File->Setting
2、点击Plugins
3、在Browse Repositories中输入redis
4、点击Redis插件
5、下载并重启
安装完后,通过右侧工具栏或File->Setting->Other Settings->NoSql Server可找到连接Redis的窗口,如下图:
通过ifconfig命令查找IP地址,端口号使用的是redis默认的6379,此端口号以redis.config配置文件中配置的redis服务端口为准。由于我连接的不是redis集群,且没有设置redis密码,只填Label和Server url(s)两处即可。如下图所示。
测试连接,点击Test Connection后连接
连接后的效果如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。