草庐IT

redis_master

全部标签

redis - EXISTS 在一个 redis 实例中的两个数据库上

给定一个包含两个数据库db1、db2的redis实例:是否可以在一个事务中查询k1\indb1andk2\indb2,即来自客户端的单个请求? 最佳答案 是的,如果您使用Lua脚本,这是可能的。 关于redis-EXISTS在一个redis实例中的两个数据库上,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/43072719/

php - 如何使用 redis 库在 codeigniter 中通过 sessionid 更改 session 数据?

我们有一个内置于codeigniter的管理面板,两种类型的用户可以在其中登录(管理员和super管理员)。管理员权限由super管理员控制。管理员权限在登录时存储在session中。我们使用codeigniterredis库来存储session数据。现在的挑战是在super管理员更改权限时更新管理员用户session数据而不影响管理员登录。 最佳答案 如果您想在运行时执行此操作,我认为使用Redis应该不是真正的问题创建一个预ControllerHook,如果用户session已更改,您可以在其中检查每个请求因为你使用了redis

transactions - 集群模式下spring data redis是否支持事务(multi,exec)?

我已经在单个REDIS实例中成功地使用multi和exec功能在Redis中实现(并测试)了事务操作。但是,在集群设置中运行的相同代码会出错并显示以下异常消息。我正在使用spring-data-redis-1.8.1.RELEASE和jedis-2.9.0。Exceptioninthread"main"org.springframework.dao.InvalidDataAccessApiUsageException:MUTLIiscurrentlynotsupportedinclustermode.atorg.springframework.data.redis.connection

redis - 在 Redis 中使复杂数据类型过期

我目前正在使用Redis作为我的网络应用程序的缓存。我打算存储一些复杂的数据类型,例如具有多个属性的对象。现在我知道在Redis中哈希就是为此目的而创建的,但我想在某个时候使哈希中的键过期,这在Redis中是不可能的。看来您只能使独立key过期。有人有替代解决方案吗?到目前为止,我唯一的解决方案是将数据的映射存储为键中的JSON对象,并将数据作为值。 最佳答案 在HSET上使用EXPIRE命令来实现这个目标。您能否举例说明您的需求? 关于redis-在Redis中使复杂数据类型过期,我们

node.js - 使用 Azure Redis 缓存存储 Node JS 快速 session

我曾尝试使用Azure构建Express4Web应用程序。我在多篇文章中发现我可以将session存储在AzureRedis缓存中。但是,我应该如何将我的Web应用程序连接到Redis缓存?varsession=require('express-session');varredis=require('redis');varRedisStore=require('connect-redis')(session);varclient=redis.createClient(6380,'MyHost',{auth_pass:'MyPass',tls:{servername:'MyHostNam

mysql - redis中如何处理 "View count"

我们的数据库主要是阅读量,但我们想为我们的视频添加“观看次数”和“赞/不赞”。当我们在mysql中对递增View进行压力测试时,我们的数据库开始死锁。我正在考虑通过拥有一个保存View计数的Redis数据库来处理这个问题,并且只在key过期后才写入数据库。但是,我听说通知不一致,我不想丢失View数据。有没有更好的方法来解决这个问题?或者说Redis通知不一致是不是真的。谢谢,萨米 最佳答案 Redis的键空间通知是一致的,但不能保证传递。如果您不想丢失数据,请实现您自己的后台进程,手动使计数器过期-即复制到MySQL并从Redis

python - 哨兵自动发现master

可以通过sentinel使用以下方法发现redismaster:fromredis.sentinelimportSentinelsentinel=Sentinel([('127.0.0.1',26379)])master_server=sentinel.master_for('mymaster')现在向主节点写入数据:master_server.setex(key,120,value)#dosomethingmaster_server.setex(key,120,new_value)现在,当#做某事时,如果master_server崩溃,sentinel将通过投票将一个slave提升为

ruby - Docker Ruby Rack Redis 队列

我有一个长期运行的请求,这些请求由我想使用Redis排队的服务处理。所以我有一个基于Passenger和Ruby2.4构建的Rack应用程序。当我向Rack应用程序发出请求时,我希望请求转到Redis进程进行排队。我应该能够用sessionID和状态进行回复。我怎样才能让它在Docker上运行? 最佳答案 docker容器的主要问题是它只运行单个进程。因此,您有两种选择可以在docker上运行您的应用程序。打破你的技术堆栈1.railapplication2.passanger3.Redis然后为每个堆栈进程创建单独的图像并使用do

json - Redis 获取 “\” 到 JSON 字符串

我正在使用Redis保存JSON的值并稍后检索它。问题是当我从redis中检索值时,它添加了多个“\”,这破坏了我的JSON。{"user":"123456","password":"xxxxxxx"}client.lrange('message',0,-1,function(error,items){if(error)throwerrorconstresponse={statusCode:200,body:JSON.stringify({message:items}),};callback(null,response);})当我检索到它的值时:{\"user\":\"123456\"

node.js - Redis 上的 socket.io-emitter 每次发送数据都要初始化

每次发送数据都要重新初始化socketEmitter,如下图pushNotification.pushData=function(data){varsocketEmitter=require('socket.io-emitter')(config.redis);socketEmitter=socketEmitter.of('/webSocket');socketEmitter.in(data.orgId).emit(data.event,data.msg);}如果我全局初始化socketEmitter并尝试在pushData函数中重用它,pushData函数仅在第一次工作。