首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Redis教程10(事务)

2) OK 3) OK 4) OK 5) "bbb" 事务异常 事务中的异常有两种情况: 进入队列之前发生错误 比较常见的命令错误,此类异常redis的处理方式是,服务器会对进入队列失败的情况进行记录...error) ERR value is not an integer or out of range 不同于关系型数据库,redis中没有回滚操作,官方解释是: Redis 命令只会因为错误的语法而失败...(并且这些问题不能在入队时发现),或是命令用在了错误类型的键上面:这也就是说,从实用性的角度来说,失败的命令是由编程错误造成的,而这些错误应该在开发的过程中被发现,而不应该出现在生产环境中。...假设我们通过watch命令在事务执行之前监控了多个Keys,倘若在watch之后有任何Key的值发生了变化,exec命令执行的事务都将被放弃,同时返回Null multi-bulk应答以通知调用者事务执行失败...b2 d111 QUEUED 127.0.0.1:6379> exec 1) OK 127.0.0.1:6379> set b3 bbb OK 127.0.0.1:6379> watch b3 OK

33540

Docker 安装 Redis (Redis 配置)

从官网获取 redis.conf 配置文件 修改默认配置文件 bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问 protected-mode no #默认yes...,开启保护模式,限制为本地访问 daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败 dir ./...#输入本地redis数据库存放文件夹(可选) appendonly yes #redis持久化(可选) docker 启动 redis 命令 docker run -p 6379:6379 --name...redis-server /etc/redis/redis.conf --appendonly yes # 不挂载配置文件: docker run --name redis -p 6379:6379...=127.0.0.1 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空,可不配置此项) # spring.redis.password

34.5K21

Redis 事务(8)

multi执行后,客户端可以继续向服务器发送任意多条命令,这些命令不会立即被执行,而是被放到一个队列中,当exec命令被调用时,所有队列中的命令才会被执行。 通过exec的命令执行事务。...可以调用discard可以清空事务队列,放弃执行。...127.0.0.1:6379> multi OK 127.0.0.1:6379> set list 111 QUEUED 127.0.0.1:6379> hset list 222 (error) ERR...这种方式也有其合理之处:只有当被调用的Redis命令有语法错误时,这条命令才会执行失败(在将这个命令放入事务队列期间,Redis能够发现此类问题),或者对某个键执行不符合其数据类型的操作:实际上,这就意味着只有程序错误才会导致...Redis命令执行失败,这种错误很有可能在程序开发期间发现,一般很少在生产环境发现。

51020

基于DOCKER安装Redis Sentinel 集群以及springboot连接Redis哨兵集群demo

6379 127.0.0.1:6379> config set masterauth 123456 127.0.0.1:6379> info replication Replication role...6379 127.0.0.1:6379> config set masterauth 123456 第五步,测试 在redis-6001存入键值对 127.0.0.1:6379> SET test...aaa 在redis-6002和redis-6003查询 127.0.0.1:6379> get test “aaa” 在redis-6002或者redis-6003存入 127.0.0.1...也可以通过配置文件来配置 master的配置文件 # 指定Redis监听端口,默认端口为6379 # 如果指定0端口,表示Redis不监听TCP连接 port 6001 # Redis默认不是以守护进程的方式运行...,可以通过该配置项修改,使用yes启用守护进程 # 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.pid # redis开启守护进程会导致docker容器启动失败

1K20

Docker下redis与springboot三部曲之三:springboot下访问redis哨兵

三部曲之二:安装redis主从和哨兵》; 哨兵的数量为三个,由于之前已经配置了QUORUM=2,如果哨兵只有一个,在master出了问题重新选举master的时候,会因为投票数不够一半导致选举失败,无法将...docker-compose.yml的内容,看看已经准备好哪些服务了: master: image: redis:3 ports: - "6379:6379" slave: image...:6379> get name "tom111112333666777" 127.0.0.1:6379> 可见从库已经同步到了主库写入的数据; web工程连接到哨兵 前面的实战我们是直接连接到redis...application.properties(连接哨兵) 从连接到master改为连接到哨兵的改动很简单,只需要修改配置文件即可,修改后的application.properties的内容如下: spring.redis.database...下redis与springboot三部曲》系列实战就全部完成了,希望能帮助你熟悉和了解redis的一些特性,以及基本的java调用redis服务的操作。

37720

Nodejs+Redis实现简易消息队列

只要保证自己能连接到redis 服务即可。...# 使用docker 拉取redis 镜像docker pull redis:latest# 启动redis服务 # --name 后面是容器名字方便后续维护和管理 # -p 后面是指映射容器服务的 6379...端口到宿主机的 6379 端口docker run -itd --name redis-mq -p 6379:6379 redis# ============ docker 常用基本操作(题外话) =...ps # 查看运行容器(包含未启动)docker ps -a# 启动容器docker start 容器名称/容器id# 停止容器docker stop 容器名称/容器idNodejs连接初始化工程#...例如任务执行失败如何处理,消费后如何ack , 没有用成熟的topic 协议,没有实现延时队列。这些坑因为个人水平以及redis本身的特性 可能很长一段时间都不会填了。

66120

TP5系列 | Queue消息队列

连接两个系统,但是又不会互相耦合,生产者并不会因为消费者的异常而影响到自己。 3、消息推送成功之后,如果没有消费者,消息会堆积在队列中。不过别怕,消息堆积很正常,并且一般的中间件堆积能力是非常强的。...查看Redis消息与队列 > docker exec -it dnmp-redis redis-cli 127.0.0.1:6379> keys * 127.0.0.1:6379> keys * 1)..."queues:testQueue" 127.0.0.1:6379> TYPE queues:testQueue list 127.0.0.1:6379> LRANGE queues:testQueue...Redis队列也不会积累消息了 PS :这里使用的是Docker环境测试,如果是正式的Linux环境,请使用 ps-axu|grep queue查看守护进程 127.0.0.1:6379> LRANGE...set) 127.0.0.1:6379> LRANGE queues:testQueue 0 -1 (empty list or set) 127.0.0.1:6379> LRANGE queues:

4.2K52
领券