Redis是个好东西,经过上两个星期的研究和实践,目前正在项目里大规模的替换掉原来的本地内存cache.但是替换过程中却发现,Redis这东西高端,大气上档次,似乎不是我想象里的使用方法. 在没有深入Redis之前,在我的概念里,缓存,就是key-value.而使用方式肯定不需要改动多少代码,一切都是Get/Set.但是实际用的时候却发现,我错了,不是所有的场景都是简单的Get/Set.也不是所有的数据都适合key-Value,于是有了这个问题,Redis到底该如何使用?我问自己,也向园子里的朋…
Redis是个好东西,经过上两个星期的研究和实践,目前正在项目里大规模的替换掉原来的本地内存cache.但是替换过程中却发现,Redis这东西高端,大气上档次,似乎不是我想象里的使用方法. 在没有深入Redis之前,在我的概念里,缓存,就是key-value.而使用方式肯定不需要改动多少代码,一 切都是Get/Set.但是实际用的时候却发现,我错了,不是所有的场景都是简单的Get/Set.也不是所有的数据都适合key-Value,于是有了 这个问题,Redis到底该如何使用?我问自己,也向园子里…
上两篇受益匪浅,秉着趁热打铁,不挖到最深不罢休的精神,我决定追加这篇.上一篇里最后我有提到实现分级缓存管理应该是个可行的方案,因此今天特别实践了一下.不过缓存分级之后也发现了一些问题,例如下图: 当appServerA修改了数据,并同步到Redis/DB之后,如何让appServerB也能更新本地缓存呢?虽然Redis的出现是为了解决这个问题的,但是分级方案里,MemoryCache还是需要保留.那么如何保存呢?我尝试了下面的几种方式,现在我们逐一来看. 全数据增量同步 所谓全数据校验,即所有的…
上一篇文章里我简述了使用Keys作为Redis搜索的方式,确实感受到了社区的力量,写文章好处多.首先谢谢各位前辈的指导,我知道了拿Redis作为搜索是个错误的方向.本来这篇文章我觉得确实没必要发了,但是想想既然错了,那就将错就错,写出来给初学者一些思考吧. 本篇我将会讲讲,分词建立key索引和redis scan命令两种方式. 注意:这两种方式的搜索也不一定可行,具体场景要具体测试衡量,拿Redis做搜索要深思熟虑并且测试,甚至是要直接回避的. 另外,上篇评论也建议大家看一看,前辈们给了很多经验…
背景: redis无认证,或者弱密码,可以成功连接到redis服务器 反弹shell拿到的权限取决于redis的启动账号 操作: 1. Centos7安装redis客户端 #yum install redis --查看是否有redis yum 源 #yum install epel-release --下载fedora的epel仓库 # yum install redis -- 安装redis数据库 [漏洞利用方法1 写crontab,反弹shell] 2.连接redis服务器,执行命令 #re…
在前一篇文章中,我们已经介绍过Redis的一些实际应用.如KV缓存.分布式锁.消息队列,由于篇幅原因,并未介绍完全.接下来将继续为各位带来Redis的更多应用. bitmat(位图) 实现 位图的基本思想是使用一个bit来表示一个映射关系,这样就能大大减小内存的使用.如一个用户一周的签到情况可以用以下方式来实现. 如果不用位图,而用int 来实现的话,需要7个int的空间来存储,而使用位图后,一个int空间即可表示出用户一周的签到情况了. 常用指令 setbit:设置位图值: 127.0.0.1…
Redis配置及攻击利用 Redis及其安全配置 Redis介绍 redis默认会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据.攻击者在未授权访问 Redis 的情况下,利用 Redis 自身的提供的config 命令,可以进行写文件操作,攻击者可以…
Redis入门和Java利用jedis操作redis Redis介绍 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. Redis支持数据的备份,即master-slave…
利用Word发布文章到cnblogs博客 用博客园cnblogs:http://www.cnblogs.com/博客名称/services/metablogapi.aspx,word老是提醒"word无法注册你的账户",后来用了博客园cnblogs设置页面的URL,这才成功. word注册/新建博客帐户设置:----------------------------------------------------------------------------输入博客信息API(A):M…
最近在Java技术栈公众号发布的一篇文章,其中有一道题: Redis是多线程还是单线程?(回答单线程的请回吧,为什么请回,请往下看) 好些粉丝在后台问我:为什么请回,Redis不是单线程吗? 大家注意审题:Redis是多线程还是单线程? 这个问题你要从多个方面回答,如果你仅仅只回答 "单线程" 肯定是说不过去的,为什么呢? 所以今天,栈长利用工作时间紧急把这个问题紧急梳理了下,希望对大家有帮助. 1.Redis 单线程到底指什么? 没错,大家所熟知的 Redis 确实是单线程模型,指的…