
数据与性能
文章平均质量分 83
Jack2013tong
记录所见所用及碰到的问题,同时也希望这些能帮助到其他人.分享知识,共同提高
展开
-
无限级分类表设计
无限级分类表设计一般的多级分类表的表结构字段如下:多级分类类型表T_ContentsTypeId,TypeId,ParentId,TypeName,CreateTime,Orders其它很多情况下2级,3级情况比较多见,真正的有N多级的情况比较少见,这种情况就用上表即可解决,Id自增;缺点是单从类型Id很难知道是哪个分类;但如果只有2,3级的情况下,Id我们可以不用自增Id,用数字编码的形式来做更有意义,而且可读性会更好;比如一级Id从10000起,每个一级分类递增1000原创 2020-06-11 19:05:15 · 1164 阅读 · 0 评论 -
mongodb副本集删除方法
mongodb副本集删除方法起因:由于要搭建一个mongodb的测试环境,所以从原来的一台服务器上克隆了一个过来,上面有三个mongodb实例,组成了一个副本集。副本集的设置也一起copy过来了,所以要删除在重新设置,由于不知道有没有好的方法可以方便移除副本集,用了一个非常笨的方法,如下:1 首先停调三个实例/etc/init.d/mongodbmaster stop/etc/原创 2015-09-14 16:42:12 · 19586 阅读 · 0 评论 -
mongodb shell 统计相关命令
mongodb shell 统计相关命令1 count2 distinct3 group4 mapReduce5 aggregate原创 2015-05-07 17:40:43 · 5930 阅读 · 1 评论 -
Redis常用命令
Redis命令总结连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证持久化save:将数据同步保存到磁盘bgsave:将数据异步保存到磁盘lastsave:返回上次成功将数据保存到磁盘的Unix时戳shundown:将数据同步保存到磁盘,然后关闭服务远程服务控制info:提供服务转载 2014-10-28 15:07:35 · 1141 阅读 · 0 评论 -
redis安装部署维护备份
一、安装下载redis最新版源码包;如: wget http://download.redis.io/releases/redis-2.6.16.tar.gz解压;tar zxvf redis-2.6.16.tar.gz编译;进入到解压开的目录,执行:make && make install添加到系统服务并配置开机启动进入到redis源码的utils目录,执行 ./转载 2014-10-28 10:39:47 · 5473 阅读 · 2 评论 -
数据库主键设计-用GUID还是Int(int32,int64)做主键(primaryKey)
数据库主键设计-用GUID还是Int(int32,int64)做主键(primaryKey)使用INT做主键的优点: 1、需要很小的数据存储空间,仅仅需要4 byte 。 2、insert和update操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。 3、index和Join 操作,int的性能最好。 4、容易记忆。原创 2015-12-04 18:21:39 · 12728 阅读 · 0 评论 -
keepalived安装配置
keepalived安装配置1、 下载:wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz2、 安装:[plain] view plaincopytar -zxvf keepalived-1.2.7.tar.gz cd keepalived-1.2.7 ./configure --p转载 2015-04-29 15:51:47 · 1860 阅读 · 0 评论 -
redis性能相关的数据指标
redis性能相关的数据指标注:转载的,文中的图片都没有复制过来info命令通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。info命令输出的数据可分为10个类别,分别是:serverclientsmemorypersistencestatsrepl转载 2015-11-17 15:49:56 · 7220 阅读 · 0 评论 -
C# 操作Memcached
C# 操作Memcached环境 c# vs2013 ,要在nuget里引用(安装) EnyimMemcached ,下面是以调用阿里云的ocs(memcached)服务为例using System;using Enyim.Caching;namespace MemcacheTest{ /// /// MemcachedClient 帮组类 对外提供接口方法原创 2015-10-04 16:31:49 · 10026 阅读 · 1 评论 -
MongoDB性能篇 - 索引,explain执行计划,优化器profile,性能监控mongosniff
MongoDB性能篇 - 索引,explain执行计划,优化器profile,性能监控mongosniff一、索引MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现转载 2015-08-03 14:59:22 · 11032 阅读 · 0 评论 -
mongodb 常见问题收集
1 非正常关闭服务或关机后 mongod服务无法zhengcha2 server-side JavaScript execution is disabled3 Decimal转换成BsonValue值异常原创 2014-10-31 08:48:21 · 3966 阅读 · 1 评论 -
Redis集群部署文档
Redis集群部署文档环境:centos6系统(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002127.0.0.1:7003127.0.0.1:7004127.0.0.1:7005转载 2015-04-14 17:03:20 · 1495 阅读 · 0 评论 -
keepalived+redis 高可用redis主从解决方案
keepalived+redis 高可用redis主从解决方案背景介绍:目前,Redis还没有一个类似于MySQL Proxy或Oracle RAC的官方HA方案。#Redis 2.8版开始正式提供名为Sentinel的主从切换方案(后面附上,未测试)因此,如何在出现故障时自动转移是一个需要解决的问题。通过对网上一些资料的搜索,有建议采用HAProxy或Keepaliv转载 2014-12-12 15:28:10 · 24990 阅读 · 5 评论 -
低版本StackExchange.Redis库Timeout 问题
StackExchange.Redis第三方库在用的时候发现日志经常会出现 “Timeout performing GET * ”及"No connection is available to service",所用版本为1.1.6。由于redis的 qps并不高,才不到1000,于是网上各种找解决方法,有人说这是StackExchange.Redis低版本的才有的bug,所以试着把类库更新到...原创 2019-03-29 09:20:34 · 1756 阅读 · 0 评论 -
数据缓存中的二级缓存用法
数据缓存中的二级缓存用法适合用的场景原创 2017-10-23 11:52:26 · 2140 阅读 · 0 评论 -
Windows 64位下安装Redis详细教程
Windows 64位下安装Redis详细教程系统要求:Windows 64位操作系统Redis 安装包 在此处下载 https://github.com/dmajkic/Redis/downloads (当前教程版本2.4.5 redis-2.4.5-win32-win64.zip )方法/步骤在D盘新建文件夹【redis】,右键解压Redis ZIP包,把所有文件解压到转载 2017-03-23 14:31:19 · 2402 阅读 · 0 评论 -
分布式锁实现方式三 基干Memcache mutex设计模式
分布式锁实现方式三 Memcache mutex设计模式应用场景上周六去参加了csdn举办的TUP活动,最后一场的Tim Yang讲的《微博cache设计谈》,个人觉得讲得非常好和非常到位,其中有两点非常感同身受,就是内网流量问题和cache的key mutex问题导致大量请求穿透到db。后他又写了一篇博客《Memcache mutex设计模式》阐述这个问题。关于cache的key m转载 2017-01-20 17:08:56 · 2443 阅读 · 0 评论 -
分布式锁实现方式二 基于Redis的分布式锁
分布式锁实现方式二 基于Redis的分布式锁基于Redis的分布式锁/** * 分布式锁工厂类 */ public class RedisLockUtil { private static final Logger logger = Logger.getLogger(RedisLockUtil.class); private static Obj转载 2017-01-20 15:49:24 · 1264 阅读 · 0 评论 -
分布式锁实现方式一 基于zookeeper的分布式锁
分布式锁实现方式一 基于zookeeper的分布式锁一。为何使用分布式锁?当应用服务器数量超过1台,对相同数据的访问可能造成访问冲突(特别是写冲突)。单纯使用关系数据库比如MySQL的应用可以借助于事务来实现锁,也可以使用版本号等实现乐观锁,最大的缺陷就是可用性降低(性能差)。对于GLEASY这种满足大规模并发访问请求的应用来说,使用数据库事务来实现数据库就有些捉襟见肘了。另外对于一些转载 2017-01-20 15:43:46 · 2083 阅读 · 0 评论 -
memcached搭建缓存系统
linux下memcached安装部署一、概念Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。二、适用场合1.分布式应用。由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统。2.数据库前段缓存。数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常造成网站内存溢出。当然我们也可以使用H转载 2014-09-11 16:34:12 · 5245 阅读 · 1 评论 -
redis cluster管理工具redis-trib.rb详解
redis cluster管理工具redis-trib.rb详解redis-trib.rb 命令 command 详解转载 2016-03-24 18:27:16 · 61032 阅读 · 4 评论 -
redis3.0 cluster功能介绍
redis3.0 cluster功能介绍redis3.0 cluster 命令redis3.0 cluster 配置转载 2016-03-24 18:18:12 · 16646 阅读 · 5 评论 -
Redis 3.0官方文档
Redis 3.0官方文档转自 http://powersoft.iteye.com/blog/2153858集群(上)这篇文档是对Redis集群的介绍,没有使用复杂难懂的东西来理解分布式系统的概念。本文提供了如何建立,测试和操作一个集群的相关指导,但没有涉及在Redis集群规范(参考本系列其他文章,译者注)中的诸多细节,只是从用户的视角来描述系统是如何运作的。注转载 2015-04-14 17:05:55 · 9113 阅读 · 3 评论 -
keepalived+redis 实现高可用的自动故障转移failover
keepalived+redis 实现高可用的自动故障转移failover在A服务器(10.0.11.2),B服务器(10.0.12.2)上均安装redis,keepalived(安装方法略)A作为默认的master,B作为slave(在redis的配置文件中加上 SLAVEOF 10.0.11.2 6379)即可A,B上的Redis均开启本地化策略。appendonly yes原创 2015-04-28 18:56:11 · 2537 阅读 · 0 评论 -
Redis持久化-RDB与AOF
Redis持久化(Persistence) Redis提供了不同持久化范围的选项: RDB持久化以指定的时间间隔执行数据集的即时点(point-in-time)快照。AOF持久化在服务端记录每次收到的写操作,在服务器启动时会重放,以重建原始数据集。命令使用和Redis协议一样的格式以追加的方式来记录。当文件太大时Redis会在后台重写日志。如果你愿意,你可以完全禁止持久化,如果转载 2015-06-17 14:03:58 · 4236 阅读 · 0 评论 -
mongodb常用命令脚本化-自动化运维
mongodb常用命令脚本化-自动化运维把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护1 设置副本集2 修改副本集的设置4 按日期生成mongodb日志5 MongoDB数据库自动备份还原的脚本原创 2015-03-04 14:34:03 · 12753 阅读 · 1 评论 -
MongoDB数组修改器更新数据
MongoDB数组修改器更新数据 这里,我们将了解一下数组修改器。数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用。数组修改器,顾名思义,它是用来修改数组的,而不能用来修改整数或者字符串。数组修改器不多,就那么几个,但熟练掌握它后,将给我们带来非常方便的操作。下面,我们来了解一下:> db.user.findOne()转载 2014-11-14 18:23:42 · 11996 阅读 · 0 评论 -
linux下mongodb的安装及启动
1>设置mongoDB目录cd /home/apps 附:centOS下创建目录命令 mkdir /home/apps2>下载mongodbcurl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.3.tgz3>解压缩文件tar xzf mongodb-linux-x86_6转载 2014-10-27 16:25:18 · 25920 阅读 · 0 评论 -
MongoDB副本集学习(二):基本测试与应用
MongoDB副本集学习(二):基本测试与应用简单副本集测试这一节主要对上一节搭建的副本集做一些简单的测试。我们首先进入primary节点(37017),并向test.test集合里插入10W条数据:1. rs0:PRIMARY> for(var i=0;i100000;i++){2. db.test.insert({"name":"zhan转载 2014-10-25 15:29:57 · 1105 阅读 · 0 评论 -
linux下redis的安装及配置启动
wget http://download.redis.io/releases/redis-2.8.3.tar.gztar xzf redis-2.8.3.tar.gzcd redis-2.8.3make32位机子报错解决 zmalloc.o: In function `zmalloc_used_memory':/usr/local/src/redis-2.8.3/src/转载 2014-10-24 14:04:23 · 67399 阅读 · 3 评论 -
mongodb c#客户端操作
作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者,因为提供了丰富的linq操作,相当方便。官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads。下载后,还提供了一个酷似msdn的帮助文档。samus驱动:https:/转载 2014-10-27 19:35:36 · 1262 阅读 · 0 评论 -
MongoDB系列之三(副本集配置 持续更新)
MongoDB系列之三(副本集配置 持续更新)分类: Cloud & DC(original)2013-06-20 15:21 755人阅读 评论(0) 收藏 举报今天我测试了一下MongoDB的副本集的配置。首先从概念上说一下MongoDB副本集和主从复制的区别。其实副本集(Replica Set)是主从复制的高级形式。高级在哪里呢?主动复制实现了数据备份+读扩展,但转载 2014-10-25 15:32:36 · 1823 阅读 · 0 评论 -
MongoDB副本集学习(一):概述和环境搭建
MongoDB副本集学习(一):概述和环境搭建MongoDB副本集概述以下图片摘自MongoDB官方文档:http://docs.mongodb.org/manual/core/replication-introduction/Primary节点接收客户端所有的写操作,整个副本集只会有一个primary节点。MongoDB副本集提供严格的一致性。主节点将所有的操转载 2014-10-25 15:27:11 · 2348 阅读 · 0 评论 -
MongoDB发生Can't take a write lock while out of disk space错误解决方法
先停止mongodb服务service mongodb stop就去/etc//mongodb.conf修改nojournal = truesmallfiles = truenoprealloc = true 将lock文件删除rm /var/lib/mongodb/mongod.lock最好也把journal日志删除,转载 2014-10-23 19:01:49 · 4560 阅读 · 0 评论 -
Sqlite 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...
今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集 其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是转载 2014-09-15 16:51:42 · 2837 阅读 · 1 评论 -
SQLite基础知识及简单应用
SQLiteSQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起My转载 2014-09-15 15:17:54 · 2357 阅读 · 0 评论 -
apache jmeter压力测试初体会-Mongodb Elasticsearch Test
资源地址http://download.youkuaiyun.com/detail/huwei2003/8156405原创 2014-11-14 10:23:45 · 15043 阅读 · 2 评论 -
mongodb常用命令
mongodb常用命令mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。关于它的一个最简洁描述为:scalable, high-performance, open source, schema-free, document-oriented database。MongoDB的主要目标是在键/值存储方式(提供了高性能和高度转载 2014-10-14 08:37:48 · 1051 阅读 · 0 评论 -
MongoDB数据库的备份,恢复与迁移,回滚
MongoDB是怎么实现数据的备份与恢复,故障切换以及数据库服务器的负载均衡等功能的呢?本文我们就介绍这些知识。备份与恢复在创建MongoDB服务的时候,通过--dbpath指定目录就是存放mongdb数据库文件目录,我们可以通过复制这些文件实现数据库的冷备,但是这种方式不太安全。因此在冷备前,要关闭服务器,这个在第一节中介绍过平滑关闭server的命令。>use admin转载 2014-11-14 18:36:19 · 35732 阅读 · 3 评论 -
Redis 配置文件
Redis 配置文件# 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写)## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1g转载 2015-03-30 15:34:23 · 778 阅读 · 0 评论