Nosql

关注redis,mongodb,memercache等相关技术

Mybatis缓存之redis实现 Nosql

Mybatis缓存之redis实现

mybatis对于缓存的处理不是很强大,但也算是能凑合使用下,今天项目中要使用到,就打算用redis来扩展下他的接口,做一个实现 以上代码中的RedisClient为自己封的jedisx操作, 你可以直接替换成你自己的封装,或者直接使用原生的jedisx
linux下mongodb安装及配置 Nosql

linux下mongodb安装及配置

mongodb的安装比较简单, 下载安装包后,解压就直接可以使用了,是不是很有简单! 好了,安装好了,再看看怎么配置及启动: 1. 创建mongodb的数据存储目录 2. 创建mongodb的日志存储目录 然后设置配置文件,安装完后,是不带配置文件的,需要我们自己创建 然后输入: 最后就是启动了, 为了方便,我们创建一个启动及关闭脚本,如下: 最后加上执行权限: 好了,安装配置都完了,启动就可以执行start.sh, 关闭就可以使用shutdown.sh
Redis在linux环境安装及redis.conf配置详解 Nosql

Redis在linux环境安装及redis.conf配置详解

由于公司需要用到redis这个key-value数据库来做进程外的缓存,首先上官网上看了看,安装不是很难,非常简单,只用几个命令就搞定。 首先下载reids最新版本的压缩包 reidis-2.8.3.tar.gz, 然后进入目录下键入如下命令: 然后等待他安装完成.就这么简单! 现在来看看如何配置 我的一般配置为: 启动: 配置完成之后,输入即可启动redis 连接: 再来验证下是否启动正确,输入: 当你看到如下信息,表现已经成功了
mongoDB使用spring jpa的一些关键字 Nosql

mongoDB使用spring jpa的一些关键字

Spring Data MongoDB - Reference Documentation 官方文档 http://docs.spring.io/spring-data/data-document/docs/current/reference/html/#mongodb.repositories.queries Table 6.1. Supported keywords for query methods Keyword Sample Logical result GreaterThan findByAgeGreaterThan(int age) {"age" : {"$gt" : age}} LessThan findByAgeLessThan(int age) {"age" : {"$lt" : age}} Between findByAgeBetween(int from, int to) {"age" : {"$gt" : from, "$lt" : to}} IsNotNull, NotNull findByFirstnameNotNull() {"age" :···
Redis Sentinel(哨兵):集群Failover解决方案 Nosql

Redis Sentinel(哨兵):集群Failover解决方案

Redis sentinel(哨兵)模块已经被集成在redis2.6+以上版本实现了,原理不是很复杂,现在来一起分享下。 sentinel主要功能就是为Redis M-S(master,slaves)集群提供了1)master存活检测 2)集群中M-S服务监控 3) 自动故障转移,M-S角色转换等能力,从一个方面说是提高了redis集群的可用性. 一般情况下,最小M-S单元各有一个maste和slave组成,当master失效后,sentinel可以帮助我们自动将slave提升为master;有了sentinel组件,可以减少系统管理员的人工切换slave的操作过程. sentinel的一些设计思路和zookeeper非常类似,事实上,你可以不使用sentinel,而是自己开发一个监控redis的zk客户端也能够完成相应的设计要求. 一.环境部署 准备3个redis服务,简单构建一个小的M-S环境;它们各自的redis.conf配置项中,除了port不同外,要求其他的配置完全一样(包括aof/snap,memory,rename以及授权密码等);原因是基于sentinel做故障转移,所有的server运行机制都必须一样,它们只不过在运行时"角色"不同,而且它们的角色可能在故障时会被转换;slave在某些时刻也会成为master,尽管在一般情况下,slave的数据持久方式经常采取snapshot,而master为aof,不过基于sentinel之后,slave和master均要采取aof(通过bgsave,手动触发snapshot备份). 1)  redis.conf: 2) sentinel.conf 请首先在各个redis服务中sentinel.conf同目录下新建local-sentinel.conf,并将复制如下配置信息. 3) 启动与检测 按照上述指令,依次启动redis-0,redis-1,redis-2;在启动redis-1和redis-2的时候,你会发现在redis-0的sentinel控制台会输出"+sentinel ..."字样,表示有新的sentinel实例加入到监控.不过此处需要提醒,首次构建sentinel环境时,必须首先启动master机器. 此后你可以使用任意一个"redis-cli"窗口,输入"INFO"命令,可以查看当前server的状态: "INFO"指令将会打印完整的服务信息,包括集群,我们只需要关注"replication"部分,这部分信息将会告诉我们"当前server的角色"以及指向它的所有的slave信息.可以通过在任何一个slave上,使用"INFO"指令获得当前slave所指向的master信息. "INFO"指令不仅可以帮助我们获得集群的情况,当然sentinel组件也是使用"INFO"做同样的事情. 当上述部署环境稳定后,我们直接关闭redis-0,在等待"down-after-milliseconds"秒之后(30秒),redis-0/redis-1/redis-2的sentinel窗口会立即打印"+sdown""+odown""+failover""+selected-slave""+promoted-slave""+slave-reconf"等等一系列指令,这些指令标明当master失效后,sentinel组件进行failover的过程. 当环境再次稳定后,我们发现,redis-1被提升("promoted")为master,且redis-2也通过"slave-reconf"过程之后跟随了redis-1. 如果此后想再次让redis-0加入集群,你需要首先通过"INFO"指令找到当前的masterip + port,并在启动指令中明确指明slaveof参数: sentinel实例需要全程处于启动状态,如果只启动server而不启动相应的sentinel,仍然不能确保server能够正确的被监控和管理.