`
文章列表
目录 一 Codd的RDBMS12法则——RDBMS的起源 二 关系型数据库设计阶段 三 设计原则 四 命名规则   数据库设计,一个软件项目成功的基石。很多从业人员都认为,数据库设计其实不那么重要。现实中的情景也相当雷同,开发人员的数量是数据库设计人员的数倍。多数人使用数据库中的一部分,所以也会把数据库设计想的如此简单。其实不然,数据库设计也是门学问。   从笔者的经历看来,笔者更赞成在项目早期由开发者进行数据库设计(后期调优需要DBA)。根据笔者的项目经验,一个精通OOP和ORM的开发者,设计的数据库往往更为合理,更能适应需求的变化,如果追其原因,笔者个人猜测是因为数据库的规范化 ...
redis学习笔记之虚拟内存         首先说明下redis的虚拟内存与os的虚拟内存不是一码事,但是思路和目的都是相同的。就是暂时把不经常访问的数据从内存交换到磁盘中,从而腾出宝贵的 内存空间用于其他需要访问的数据。尤其是对于redis这样的内存数据库,内存总是不够用的。除了可以将数据分割到多个redis server外。另外的能够提高数据库容量的办法就是使用vm把那些不经常访问的数据交换的磁盘上。如果我们的存储的数据总是有少部分数据被经常访问,大 部分数据很少被访问,对于网站来说确实总是只有少量用户经常活跃。当少量数据被经常访问时,使用vm不但能提高单台redis server数据库的 ...
redis学习笔记之pipeline redis是一个cs模式的tcp server,使用和http类似的请求响应协议。一个client可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常 会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果 ...
redis学习笔记之事务   redis对事务的支持目前还比较简单。redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的。一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文,该连接后续的命令并不是立即执行,而是先放到一 个队列中。当从此连接受到exec命令后,redis会顺序的执行队列中的所有命令。并将所有命令的运行结果打包到一起返回给client.然 ...
redis学习笔记之排序 在了解完各种redis类型后,这次介绍下redis排序命令.redis支持对list,set和sorted set元素的排序。排序命令是sort 完整的命令格式如下: SORT key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey] 下面我们一一说明各种命令选项 (1)sort key 这个是最简单的情况,没有任何选项就是简单的对集合自身元素排序并返回排序结果.下面给个例子 redis> lpush ml 12 (integer) 1 redis& ...
redis学习笔记之数据类型 本文介绍下redis支持的各种数据类型包括string,list ,set ,sorted set 和hash 1. keys redis本质上一个key-value db,所以我们首先来看看他的key.首先key也是字符串类型,但是key中不能包括边界字符 由于key不是binary safe的字符串,所以像"my key"和"mykey\n"这样包含空格和换行的key是不允许的 顺便说一下在redis内部并不限制使用binary字符,这是redis协议限制的。"\r\n"在协议格式中会作为特殊字 ...
一 redis学习笔记之环境搭建 1.简介     redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就 ...
l  innodb_flush_log_at_trx_commit  AND  sync_binlog innodb_flush_log_at_trx_commit = N: N=0  – 每隔一秒,把事务日志缓存区的数据写到日志文件中,以及把日志文件的数据刷新到磁盘上; N=1  – 每个事务提交时候,把事务日志从缓存区写到日 ...
l  innodb_commit_concurrency 含义:同一时刻,允许多少个线程同时提交InnoDB事务,默认值为0,范围0-1000。 0      — 允许任意数量的事务在同一时间点提交; N>0  — 允许N个事务在同一时间点提交; 注意事项: ①   mysqld提供服 ...
l  lower_case_table_names    Linux或类Unix平台,对文件名称大小写敏感,也即对数据库、表、存储过程等对象名称大小写敏 感,为减少开发人员的开发成本,为此推荐大家设置该参数使对象名称都自动转换成小写; l  max_connect_errors     max_connect_errors默认值为10,也即mysqld线程没重新启动过,一台物理服务器只要连接 异常中断累计超过10次,就再也无法连接上mysqld服务,为此建议大家设置此值至少大于等于10W; 若异常中断累计超过参数设置的值,有二种解决办法,执行命令:FLUSH HOSTS;或者重新启动mysqld ...
引用 #*******以下开始为配置文件模板 [mysqld] #**********************Server************************** #******server start related #user= #Run the mysqld server as the user having the name user_name or the numeric user ID user_id. #bind-address= #Default 0.0.0.0;server listens on a single network soc ...
一些可以参考的文章: http://blogs.innodb.com/wp/2011/04/get-started-with-innodb-memcached-daemon-plugin/ http://blogs.innodb.com/wp/2011/04/nosql-to-innodb-with-memcached/ http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-setup.html http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-replication. ...

mysql5.6memcache安装

下载地址: http://labs.mysql.com 选择innodb-memcached 下载后得到文件:mysql-5.6.2-labs-innodb-memcached.tar.gz 解压。 安装步骤如下; 4290 shell> groupadd mysql 4291 shell> useradd -r -g mysql mysql 4292 # Beginning of source-build specific instructions 4293 shell> tar zxvf mysql-VERSION.tar.gz 4294 shell> cd my ...
MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌 握的知识也会增加很多。每一种存储引擎都有各自的特长,也都存在一定的短处。如何将各种存储引擎 在自己的应用环境中结合使用,扬长避短,也是一门不太简单的学问。本章选择最为常用的两种存储引 擎进行针对性的优化建议,希望能够对读者朋友有一定的帮助。 11.1 MyI SAM存储引擎优化 我们知道,MyISAM 存储引擎是MySQL 最为古老的存储引擎之一,也是最为流行的存储引擎之一。对 于以读请求为主的非事务系统来说,MyISAM 存储引擎由于其优异的性能表现及便利的维护管理方式无疑 是大家最优先考虑的 ...
如下图: http://dl.iteye.com/upload/attachment/361467/e569587d-c62f-3e03-b09f-20925b13b4e7.jpg 第一步:应用程序把查询SQL语句发给服务器端执行。 我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。 第二步:服务器解析请求的SQL语句。 1:SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是如果你马上或者在一定时间内运行同样的语句,会在很短的时间内返回查询结果。 原因: 1):服务器 ...
Global site tag (gtag.js) - Google Analytics