redis-cli

Redis事务和分布式锁

雨燕双飞 提交于 2021-02-17 13:08:53
Redis事务   Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令,最后再发送 EXEC 命令表示事务命令结束。   举个例子,使用redis-cli连接redis,然后在命令行工具中输入如下命令:     从输出中可以看到,当输入MULTI命令后,服务器返回OK表示事务开始成功,然后依次输入需要在本次事务中执行的所有命令,每次输入一个命令服务器并不会马上执行,而是返回”QUEUED”,这表示命令已经被服务器接受并且暂时保存起来,最后输入EXEC命令后,本次事务中的所有命令才会被依次执行,可以看到最后服务器一次性返回了三个OK,这里返回的结果与发送的命令是按顺序一一对应的,这说明这次事务中的命令全都执行成功了。   再举个例子,在命令行工具中输入如下命令:     和前面的例子一样,先输入MULTI最后输入EXEC表示中间的命令属于一个事务,不同的是中间输入的命令有一个错误(set写成了sett),这样因为有一个错误的命令导致事务中的其他命令都不执行了(通过后续的get命令可以验证),可见事务中的所有命令是同呼吸共命运的。

Redis简单使用

我与影子孤独终老i 提交于 2021-02-05 16:41:27
Redis 知识点 redis的全称为远程字典服务器 Redis中文网 中Redis的介绍: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings) , 散列(hashes) , 列表(lists) , 集合(sets) , 有序集合(sorted sets) 与范围查询, bitmaps , hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication) , LUA脚本(Lua scripting) , LRU驱动事件(LRU eviction) , 事务(transactions) 和不同级别的 磁盘持久化(persistence) , 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster) 提供高可用性(high availability)。 1. 为什么使用Redis redis是一种内存字典,访问速度远快于访问磁盘 随着文件变大,一个data page默认4k,这意味着在没有一个类似B+树的索引时查找一个大文件中的磁盘数据需要的寻址时间变长 随着访问量增加和需要取出的数据量变大磁盘I/O变大,而磁盘带宽有限 关系型数据库必须给出schema类型(字节宽度)以利于存储

安装mysql,redis出现的问题

◇◆丶佛笑我妖孽 提交于 2021-02-05 09:29:54
出现下面这张图片的原因是: mysqld --initialize 需要初始化才会出现data内容 包含基础信息 redis启动时报错: 解决方案如下 按顺序输入如下命令就可以连接成功 1. redis-cli.exe 2. shutdown 3. exit 4. redis-server.exe redis.windows.conf 来源: oschina 链接: https://my.oschina.net/u/4268265/blog/4130486

Linux 下的 redis安装

让人想犯罪 __ 提交于 2021-02-02 02:07:52
官网下载链接: https://redis.io/download redis安装流程,记录自己的实践,分享给需要的人。 1、选择Stable(5.0)下的Download 5.0.0 链接进行下载 (stable是稳定版本,默认下载的是linux版本) 2、下载完成之后,打开WinSCP,把我们下载好的Redis压缩包,上传到Linux的 /mnt/ 文件目录下 3、使用putty/xshell 连接到我们的Linux服务器,进入到/mnt/ 文件目录中,解压 redis-5.0.0.tar.gz,并把redis-5.0.0移动到/usr/local/ 目录下,命令如下 [root@localhost ~]# cd /mnt/ //进入mnt文件目录 [root@localhost mnt]# tar xzf redis-5.0.0.tar.gz //解压redis [root@localhost mnt]# ls //查看mnt目录 redis-5.0.0 redis-5.0.0.tar .gz [root@localhost mnt]# mv redis-5.0.0 /usr/local/ //把redis-5.0.0移动到/usr/local/ 目录下 4、安装gcc环境 由于redis是由C语言编写的,它的运行需要C环境,因此我们需要先安装gcc。安装命令如下:

redis入门指南(一) ——简介及入门相关

别等时光非礼了梦想. 提交于 2021-01-16 07:38:41
redis入门指南第二版 学习记录   以下绝大部分内容取材于《redis入门指南》,部分结合个人知识,实践后得出。   只记录重要,明确,属于新知的相关内容,杜绝冗余和重复。 简介   1、key-value型数据库,单线程,基于内存的存取,支持为每一个键设置生存时间。   2、支持丰富的数据类型,字符串,散列,列表,集合,有序集合。 启动、停止等客户端操作   3、安装过程不再赘述   4、redis可执行文件说明 文件名 说明 redis-server Redis服务器 redis-cli Redis命令行客户端 redis-benchmark Redis性能测试工具 redis-check-aof AOF文件修复工具 redis-check-dump RDB文件检查工具 redis-sentinel Sentinel服务器(2.8v以后)            常用的一般是redis-server与redis-cli   5、启动     redis-server 直接启动     redis-server --port 6380 自定义端口号启动(默认6379)     初始化脚本启动,可随系统启动而启动,建议百度,需要时学习。   6、停止     redis有可能将内存中的数据同步到硬盘中,所以强行终止可能会导致数据丢失。     正确方式应该向redis发送命令:

redis安装和基础配置

别等时光非礼了梦想. 提交于 2021-01-06 13:46:40
一、redis介绍 1、软件获取和帮助获取 Redis.io //官网 Download/redis.io //下载页面, https://redis.io/download/ Redisdoc.com //文档 redis.cn //中文官方网站 2、redis的核心特性 高速读写 数据类型丰富 支持持久化 多种内存分配及回收策略 支持事务 消息队列、消息订阅 支持高可用 支持分布式分片集群 与memeched区别 支持事务 数据类型丰富 支持持久化 支持高可用 支持分布式分片集群 二、Redis安装部署: 下载: wget http://download.redis.io/releases/redis-3.2.12.tar.gz 解压: 上传至 /data tar xzf redis-3.2.12.tar.gz mv redis-3.2.12 redis 安装: cd redis make 修改环境变量 vim /etc/profile export PATH=/application/mysql/bin/:/data/redis/src:$PATH source /etc/profile 启动和简易连接: redis-server & redis-cli 三、Redis基本管理操作 3.1基础配置文件介绍: mkdir -p /data/6379 vim /data/6379

Redis系列(二):Redis高可用集群

守給你的承諾、 提交于 2021-01-04 13:04:00
一、集群模式   Redis集群是一个由多个主从(主从在 Redis系列(四): Redis持久化和主从复制原理 中详细介绍,这里先有个概念 )节点组成的高可用集群,它具有复制、高可用和分片等特性 二、集群部署 1、环境   3台主机分别是:   192.168.160.146   192.168.160.152   192.168.160.153   每台服务器1主1从,共3主3从   相关安装包存储路径:/usr/local/redis-5.0.2 2、部署    ① Redis安装详见 Redis系列(一):Redis简介    ② 进入redis-5.0.2 cd /usr/local/redis-5.0.2    ③ 创建集群配置文件夹 mkdir redis-cluster    ④ (1)cd redis-cluster (2) mkdir 7001 和 mkdir 7002    ⑤ (1)cp /usr/local/redis-5.0.2/redis.conf 7001/ (2) cd 7001    ⑥ 编辑redis配置文件 vim redis.conf 修改内容如下: daemonize yes port 7001 dir /usr/local/redis-5.0.2/redis-cluster/7001/ 这里只是demo

Redis高可用之Sentinel哨兵

江枫思渺然 提交于 2021-01-04 09:38:08
一,单实例模式 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行。 二,主从模式 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份。当一台redis出现问题了,另一台redis可以继续提供服务。 三,自动故障转移机制 虽然上面redis做了备份,看上去很完美。但由于redis目前只支持主从复制备份(不支持主主复制),当主redis挂了,从redis只能提供读服务,无法提供写服务。所以,还得想办法,当主redis挂了,让从redis升级成为主redis。 这就需要自动故障转移,redis sentinel带有这个功能,当一个主redis不能提供服务时,redis sentinel可以将一个从redis升级为主redis,并对其他从redis进行配置,让他们使用新的主redis进行复制备份。 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。它的主要功能有以下几点 实时地监控redis是否按照预期良好地运行;

Redis高可用之Sentinel哨兵/

浪尽此生 提交于 2021-01-04 08:52:19
一,单实例模式 当系统中只有一台 redis 运行时,一旦该 redis 挂了,会导致整个系统无法运行。 二,主从模式 由于单台 redis 出现单点故障,就会导致整个系统不可用,所以想到的办法自然 就是备份。当一台 redis 出现问题了,另一台 redis 可以继续提供服务。 三,自动故障转移机制 虽然上面 redis 做了备份,看上去很完美。但由于 redis 目前只支持主从复制 备份(不支持主主复制),当主 redis 挂了,从 redis 只能提供读服务,无法 提供写服务。所以,还得想办法,当主redis挂了,让从redis升级成为主redis。 这就需要自动故障转移,redissentinel 带有这个功能,当一个主 redis 不能 提供服务时,redissentinel 可以将一个从 redis 升级为主 redis,并对其他从 redis 进行配置,让他们使用新的主 redis 进行复制备份。 Redis-Sentinel 是 Redis 官方推荐的高可用性(HA)解决方案,当用 Redis 做 Master-slave 的高可用方案时,假如 master 宕机了,Redis 本身(包括 它的很多客户端)都没有实现自动进行主备切换,而 Redis-sentinel 本身也 是一个独立运行的进程,它能监控多个 master-slave 集群,发现 master 宕

redis哨兵、集群

冷暖自知 提交于 2020-12-30 05:27:12
cd /opt/s18msredis/ 1016 vim redis-6379 .conf 1017 cat redis-6380 .conf 1018 redis-server redis-6379 .conf 1019 redis-server redis-6380 .conf 1020 redis-server redis-6381 .conf 1021 ps -ef| grep redis 1022 redis-cli -p 6379 1023 redis-cli -p 6380 1024 redis-cli -p 6381 info replication 1025 redis-cli -p 6381 1026 redis-cli -p 6379 1027 redis-cli -p 6381 1028 ps -ef| grep redis 1029 kill -9 18319 1030 ps -ef| grep redis 1031 redis-cli -p 6381 1032 redis-cli -p 6380 1033 redis-cli -p 6381 1034 ps -ef| grep redis 1035 pkill redis- server 1036 rm -rf /data/* 1037 mkdir -p /data/{6379,6380,6381 }