nosql
Nuan_Feng
蓝桥杯国赛一等奖。唯有志存千里,方能风行天下。
展开
-
redis-类型操作
=================String类型操作===================== set key value ex 生命周期秒数 | px 毫秒数 nx/xx: 创建key时指定生命周期,后面的会覆盖前面 nx:key不存在时执行操作 xx:key存在时执行操作 mset key value key value …:一次性设置多个值 mget k原创 2017-02-24 15:43:47 · 309 阅读 · 0 评论 -
MongoDB数据库设计中6条重要的经验法则(一)
“我有丰富的sql使用经验,但是我是个MongoDB的初学者。我应该如何在MongoDB中针对一对多关系进行建模?”这是我被问及最多的问题之一。我没法简单的给出答案,因为这有很多方案去实现。接下来我会教导你如何针对一对多进行建模。这个话题有很多内容需要讨论,我会用三个部分进行说明。在第一部分,我会讨论针对一对多关系建模的三种基础方案。在第二部分我将会覆盖更多高级内容,包括反范式化和双向引用。在最后一转载 2017-03-06 11:29:45 · 4688 阅读 · 0 评论 -
MongoDB数据库设计中6条重要的经验法则(二)
在上一篇文章中我介绍了三种基本的设计方案:内嵌,子引用,父引用,同时说明了在选择方案时需要考虑的两个关键因素。一对多中的多是否需要一个单独的实体。这个关系中集合的规模是一对很少,很多,还是非常多。在掌握了以上基础技术后,我将会介绍更为高级的主题:双向关联和反范式化。双向关联如果你想让你的设计更酷,你可以让引用的“one”端和“many”端同时保存对方的引用。以上一篇文章讨论过的任务跟踪系统为例。有转载 2017-03-06 11:31:00 · 528 阅读 · 0 评论 -
MongoDB数据库设计中6条重要的经验法则(三)
这篇文章是系列的最后一篇。在第一篇文章里,我介绍了三种针对“一对多 ”关系建模的基础方案。在第二篇文章中,我介绍了对基础方案的扩展:双向关联和反范式化。反范式可以让你避免一些应用层级别的join,但是这也会让更新变的更复杂,开销更大。不过冗余那些读取频率远远大于更新频率的字段还是值得的。如果你还没有读过前两篇文章,欢迎一览。让我们回顾下这些方案你可以采取内嵌,或者建立one端或者N端的引用,也可以三转载 2017-03-06 11:31:53 · 388 阅读 · 0 评论 -
关于Mongodb的全面总结
MongoDB的内部构造《MongoDB The Definitive Guide》MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本人也刚买了《MongoDB TheDefinitive Guide》的影印版,还没来得及看,本文原作者将其书中一些关于MongoDB内部现实方面的一些知识介绍如下,值得一看。今天下载了《MongoDB The Def转载 2017-03-06 11:33:55 · 3568 阅读 · 2 评论 -
MongoDB 3.4 高可用集群搭建(三)shard 分片
数据压力大到机器支撑不了的时候能否做到自动扩展?在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的。而MongoDB主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题。传统数据库怎么做海量数据读写?其实一句话概括:分而治之。上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图:上图中有转载 2017-03-06 18:58:52 · 2808 阅读 · 0 评论 -
MongoDB 3.4 高可用集群搭建(一)单例,主从模式
一、MongoDB单实例。这种配置只适合简易开发时使用,生产使用不行,因为单节点挂掉整个数据业务全挂,如下图。虽然不能生产使用,但这个模式可以快速搭建启动,并且能够用mongodb的命令操作数据库。方法参加Mongo基础。二、主从模式。使用MySQL数据库时大家广泛用到,采用双机备份后主节点挂掉了后从节点可以接替主机继续服务。所以这种模式比单节点的高可用性要好很多。下面看一下怎么一步步搭建一个m转载 2017-03-06 18:59:31 · 2016 阅读 · 0 评论 -
MongoDB 3.4 高可用集群搭建(二)replica set 副本集
NoSQL的产生就是为了解决大数据量、高扩展性、高性能、灵活数据模型、高可用性。但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能。mongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式:那什么是副本集呢?由图可以看到客户端连接到整个副本集,不关心具体哪一台机器是否挂掉。主服务器负责整个副本集的读写,副本集定期同步数据备份,一但主节点挂掉,副本转载 2017-03-06 19:00:22 · 1516 阅读 · 0 评论 -
mongodb3.4-java
import com.mongodb.MongoClient; import com.mongodb.MongoClientOptions; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import com.mongodb.client.MongoDatabase; import com.mon原创 2017-03-07 13:16:02 · 396 阅读 · 0 评论 -
memcached-配置以及命令
memcached.exe -d install/uninstall -m:最大内存使用,单位M,默认64 -M:内存耗尽返回错误,而不是删除项 -c:最大同时连接数,默认1024 -f:块大小增长因子,1.25 -n:最小分配空间,key+flags+value默认48 -h:帮助启动(文件目录不能含中文): 1:memcached.exe -d start/restart/原创 2017-03-03 23:02:38 · 257 阅读 · 0 评论 -
memcached-Xmemcached
package memcache;/** * * XMemcached同样是基于java nio的客户端, java nio相比于传统阻塞io模型来说 有效率高(特别在高并发下)和资源耗费相对较少的优点。 * 传统阻塞IO为了提高效率,需要创建一定数量的连接形成连接池, 而nio仅需要一个连接即可(当然,nio也是可以做池化处理), * 相对来说减少了线程创建和切换的开销,这一点在原创 2017-03-03 23:06:38 · 345 阅读 · 0 评论 -
redis-高级(事务,频道发布,消息订阅,持久化,主从复制,运维监控....)
================事务================== mutil:开启事务,存储在队列里 discard:取消命令 exec:执行 mutil后面的语句,可能出现2个错误 1:语法问题, 2:语法没错,适用对象有问题 并发问题: 乐观锁:监听 悲观锁:使用时就开启锁,别人用不了 redis使用的是乐观锁 watch key1[key2…keyn]:监听key原创 2017-02-24 15:45:15 · 834 阅读 · 0 评论 -
redis-配置以及启动方式
redis-cli -h 127.0.0.1 -p 14 :连接redis服务,指定端口与主机地址 help @string/命令:查看所有命令帮助 第一种:直接启动 安装: tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9直接make 编译make可使用root用户执行make install,将可执行文件拷贝到/usr/local/bin目录下。这样原创 2017-02-24 15:46:38 · 312 阅读 · 0 评论 -
redis-基础,设计原则
flushdb:刷新db,清空 pkill -9 redis:杀死redis进程 redis-benchmark -n 1000:会执行1000个命令 redis-benchmark -h:帮助文档 redis-check-dump rdb文件夹:检测rdb是否有问题 ps aux|grep redis $ 查到redis的进程通用key set key value get key原创 2017-02-24 15:48:43 · 483 阅读 · 0 评论 -
redis-javacode
import redis.clients.jedis.Jedis;public class Demo1 {/** * @param args */public static void main(String[] args) { // 清空数据 Jedis jedis = new Jedis("localhost"); System.out.println(jedis原创 2017-02-24 15:52:06 · 214 阅读 · 0 评论 -
redis-javacode2-pool
import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;public class Demo2_pool { // Redis服务器IP private static String ADDR = “192.原创 2017-02-24 15:52:27 · 326 阅读 · 0 评论 -
memcached-Spymemcached
package memcache;import java.net.InetSocketAddress; import java.util.concurrent.Future;import net.spy.memcached.CASResponse; import net.spy.memcached.CASValue; import net.spy.memcached.MemcachedClie原创 2017-03-03 23:04:23 · 360 阅读 · 0 评论 -
memcached-官方推荐jar操作
package memcache;import java.io.Serializable; import java.util.Date;import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; import com.schooner.MemCached.MemcachedItem;cla原创 2017-03-03 23:05:08 · 762 阅读 · 0 评论 -
mongodb3.4-配置以及使用
mongodb文档数据库:存储文档(BSON–>JSON二进制) 封装磁盘–>gridfs–>多个BSON(json二进制)–>JS解析器解析成json 特点:内部执行引擎为JS解析器,把文档存储成bson结构,查询时转换为JS对象,并通过熟悉的js语法来操作 与传统数据库区别 传统数据库,结构化数据,定好了表结构后,每一行的内容,必是符合表结构的,就是说列个数类型一样 mongodb:表原创 2017-03-07 13:17:41 · 986 阅读 · 0 评论