
数据库及缓存
文章平均质量分 69
psiitoy
如果你最近过的不爽,很有可能是以下两个原因:1最近没怎么读书2最近没怎么体育锻炼。最不爽的时候,肯定是你既不怎么读书,又不怎么锻炼的时候。2014,多读书,多锻炼。
展开
-
[转]MySQL的优化(二) —— SQL语句优化
一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式 key_len列,索引长度 rows列,扫描行数。该值是个预估值 extra列,详细说明。注意常见的不太友好的值有:Using file转载 2020-06-21 20:23:34 · 382 阅读 · 0 评论 -
IBATIS动态SQL
直接使用JDBC一个非常普遍的问题就是动态SQL。使用参数值、参数本身和数据列都是动态SQL,通常是非常困难的。典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接。对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单的例子: select * from user转载 2014-09-16 14:05:19 · 649 阅读 · 0 评论 -
数据库设计中的14个技巧
转自http://blog.youkuaiyun.com/sirfei/article/details/4349941. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体转载 2014-10-13 17:46:48 · 427 阅读 · 0 评论 -
[原创]HandlerSocket系列(一):由来
新的技术,几乎都是由需求驱动产生的。在仔细深入研究HandlerSocket之前,我觉得有必要先了解一下它所处的历史背景及其它想解决什么样的问题。我想这应该是最关键的,也是做这方面研究和技术选型时第一个应该关注的要点。 先来说一下它的作者Yoshinori Matsunobu,现为DeNA公司的数据库和基础设施架构师,HandlerSocket就是Yoshinori在DeNA公司工转载 2014-10-14 09:40:34 · 495 阅读 · 0 评论 -
[原创]HandlerSocket系列(二):架构、特点及其应用场景
[原创]HandlerSocket系列(二):架构、特点及其应用场景 上文介绍了为什么会产生HandlerSocket,是什么需求驱动这个产品产生的。本文主要从整体架构上做一些介绍,包括对它的一些主要优缺点和具体的应用场景。 一、HandlerSocket整体架构HandlerSocket设计为MySQL的一个plugin,作为mysqld进程的daemon存在,与Client转载 2014-10-14 16:17:22 · 522 阅读 · 0 评论 -
[原创]HandlerSocket系列(三):性能及其性能优化
[原创]HandlerSocket系列(三):性能及其性能优化前面两篇文章主要对HandlerSocket从整体上做一些介绍,本文从性能及其性能优化方面来做一些介绍。 一、HandlerSocket性能HandlerSocket作者测试HandlerSocket在查询情况下QPS为75K,Memcached为40K,MySQL为10K。但是需要注意到它的测试场景,一般的应用是很转载 2014-10-15 09:41:36 · 479 阅读 · 0 评论 -
MySQL 效能優化之參數配置修改(innodb_buffer_pool_size)
網站架好以後,為了網站的訪問速度等問題,必須對某些服務器的配置做優化,其中資料庫的部分就變得非常重要,因為網站的訪問幾乎都會關係到資料庫的存取,因此資料庫的效能及利用率的好壞,直接影響網站的訪問速度。資料庫的 buffer pool 大小innodb_buffer_pool_size 這個參數設置,定義了 InnoDB 存儲引擎的表資料和索引資料的最大記憶體緩衝區大小。適當的增加這转载 2014-10-15 09:44:40 · 1965 阅读 · 0 评论 -
Spring Data JPA初使用
我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度。 在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA。 通常我们写持久层,都是先写一个接口,再写接口对应的实现类,在实现类中进行持久层的业务逻辑处理。 而现在,Spring Data JPA帮助我们自动完成了持久层的业务逻辑转载 2014-08-15 16:58:33 · 428 阅读 · 0 评论 -
Spring Data JPA 简单介绍
背景考虑到公司应用中数据库访问的多样性和复杂性,目前正在开发UDSL(统一数据访问层),开发到一半的时候,偶遇SpringData工程。发现两者的思路惊人的一致。于是就花了点时间了解SpringData,可能UDSL II期会基于SpringData做扩展SpringData相关资料介绍:针对关系型数据库,KV数据库,Document数据库,Graph数据库,Map-Reduc转载 2014-08-15 16:54:56 · 417 阅读 · 0 评论 -
mysql的utf8设置
mysql的utf8设置 为了支持汉字以及统一字符集,所以我们使用utf8字符集。 首先,我们修改my.ini(mysql配置文件),在如下配置块增加如下内容: 1. [client] # 与mysql连接的客户端(其中包括我们编写的应用程序) default-character-转载 2014-09-05 11:05:09 · 555 阅读 · 0 评论 -
【数据库连接池】阿里巴巴开源项目 Druid 负责人温少访谈
Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员可以通过定制来实现自己需要的功能。 该项目在阿里巴巴内部得到了广泛的部署,在外部也有大量的用户群。为了使大家更好地了解和使用Druid转载 2014-08-07 17:16:03 · 1281 阅读 · 0 评论 -
MYSQL常用命令
1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u转载 2014-08-07 17:33:00 · 422 阅读 · 0 评论 -
在redis使用过程遇到的一些问题的总结
tpn(taobao push notification)在使用redis计算消息未读数的过程中,遇到了一系列的问题,下面把这个过程整理了一下,也让大家了解这个纠结的过程,供大家以后使用redis或者做类似的功能时进行参考 redis在tpn里面主要是用于计算移动千牛(Android、IOS)上的消息未读数。tpn的未读消息数是基于bizId维度的,即同一个bizId(每条消息的业务i转载 2014-08-01 09:12:59 · 1753 阅读 · 0 评论 -
Druid数据库连接池使用
阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 简单使用介绍Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部配置给DataSource对象 下面给出2种配置方法实例:1. 纯Java代码创建dataSource = new DruidDataSource()转载 2014-08-07 17:19:24 · 626 阅读 · 0 评论 -
java cookie 详解
一.什么是cookies? 大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称转载 2014-06-12 15:12:45 · 436 阅读 · 0 评论 -
Solr学习(2) Solr4.2.0+IK Analyzer 2012
开场白:本章简单讲述如何在solr中配置著名的 IK Analyzer 分词器。本章建立在 Solr学习(一) 基础上进行配置。通过(一)的介绍,目前已经成功部署好单实例 solr+tomcat 声明:描述的比较笼统繁琐,有偏差的地方请大家毫不留情的拍砖 准备工作:下载 “IK Analyzer 2012FF_hf1.zip”包。 详见:IK Analyze转载 2014-05-05 09:25:54 · 527 阅读 · 0 评论 -
TokuMX使用小计
最近因为工作的缘故,接触了 TokuMX,尝试下来感觉不错,值得介绍给大家。事情的起因是要解决MongoDB的问题。系统中需要保存程序输出的运行信息,这类信息比程序语言的log更高级,比明确的操作日志更低级,却是某些时候发现问题的关键证据,所以必须保存下来。因为其格式不规范,又需要方便检索,综合下来文档型NoSQL的MongoDB是比较好的选择。但是选择MongoDB就必然会面对磁盘消转载 2014-12-16 10:58:23 · 796 阅读 · 0 评论 -
B-树和B+树的应用:数据搜索和数据库索引【转】
B-树 1.B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据: (n,A0,K1,A1,K2,…,Kn,An转载 2014-12-16 13:54:37 · 493 阅读 · 0 评论 -
[案例]如何异构一个数十亿级别的数据库
本文记录工作中一次异构数十亿级别数据库的过程,数据源为mysql,目标介质为elasticsearch。1 我们能利用的资源1 源库是别人库存的数据分为ABC三种类型的库存模型需要将三种类型的模型整合成一中通用库存模型方便我方商家做业务2 D为库存占用订单详情也要异构一份非重点3 ABCD均做了分库分表A16个库4096张表B1512C1256D810244 数据总量在数十亿级别5 不影原创 2017-06-14 10:43:18 · 2733 阅读 · 0 评论 -
solr的相关操作(addDocument,flush,commit,rollback,optimize,close)解析
在solr中通常包含以下一些操作,包括显式的和隐式的操作1、addDocument,对文档进行分析,分词处理,创建索引段segment,每当flush缓冲区中增加的文档,索引文件都会新建一个段segment。2、commit,除了向Directory对象提交索引变化,搜索器query的重新建立commit提交后,索引flush到硬盘上,并触发listener,创造新的ins转载 2014-12-04 11:17:32 · 903 阅读 · 0 评论 -
solr4.x之原子更新
solr4.x发布以后,最值得人关注的一个功能,就是原子更新功能,传说的solr是否能真正的做到像数据库一样,支持单列更新呢? 在solr官方的介绍中,原子更新是filed级别的更新,不会涉及整个Documnet级别的更新,但事实真是如此吗,经散仙验证,并非如此,原子更新这种功能,在Lucene层面上,就否定了这种方式,因为是索引存储结构,决定了它的更新方式,在Lucene中我们想更新一条数据怎么转载 2014-12-12 09:16:40 · 688 阅读 · 0 评论 -
mongo索引小结
官方文档索引部分的地址:http://docs.mongodb.org/manual/indexes/以下大部分内容来自官方文档。 1.创建索引1)创建单个索引db.collection.ensureIndex({a:1})在a字段上创建一个升序的索引(对于单个字段的索引,升序或是降序都一样)。2)创建复合索引db.colle转载 2014-12-31 16:22:06 · 508 阅读 · 0 评论 -
Mysql 客户端连不上服务器,以及mongoVue连不上mongo问题解决
1.mysql处理/etc/mysql/my.cnf 的bind-address 从127.0.0.1 改成 0.0.0.0/etc/init.d/mysql restart 重启服务2.mongo处理/etc/mongodb.conf bindip 改成 0.0.0.0sudo service mongodb restart原创 2016-02-19 09:13:06 · 1187 阅读 · 0 评论 -
Mybatis中配置Mapper的方法
Mybatis中配置Mapper的方法 在这篇文章中我主要想讲一下Mybatis配置文件中mappers元素的配置。关于基础部分的内容可以参考http://haohaoxuexi.iteye.com/blog/1333271。 我们知道在Mybatis中定义Mapper信息有两种方式,一种是利用xml写一个对应的包含Mapper信息的配置文件;另一种就是定转载 2015-10-10 16:23:27 · 398 阅读 · 0 评论 -
基于MyBatis3.0.6的基本操作介绍
每 一 个 MyBatis 的 应 用 程 序 都 以 一 个 SqlSessionFactory 对 象 的 实 例 为 核 心 。SqlSessionFactory本身是由SqlSessionFactoryBuilder创建的,一般而言,在一个应用中,一个数据库只会对应一个SqlSessionFactory,所以一般我们都把SqlSessionFactory定义成单例模式,或通过Spring等转载 2015-10-10 15:52:53 · 491 阅读 · 0 评论 -
《大数据量下,58同城mysql实践》
《大数据量下,58同城mysql实践》WOT(World Of Tech)2015,互联网运维与开发者大会将在北京举行,会上58同城将分享《大数据量下,58同城mysql实战》的主题,干货分享抢先看。零、分享提纲1)基本概念2)常见问题及解决思路3)拆库实战4)拆库后业务实战5)总结一、基本概念大数据量下,搞mys转载 2015-04-16 18:10:06 · 1642 阅读 · 0 评论 -
【IT名人堂】专访高级架构师:京东双11背后的NoSQL数据库与分布式存储内幕
大家好,欢迎做客第120期名人堂,我是主持人皮皮。每年的双11促销,都是对几大电商的软硬件平台服务能力的一次大考。京东每天的库房记录在十亿个数量级,商品图片总共有几十亿张。这些文件基本上都是KB 级别的,很明显关系型数据库不太擅长处理这些海量小文件,那么京东幕后的数据库和存储到底是什么呢?当用户京东上疯狂的进行流畅浏览、搜索、下单的背后,究竟是什么样的设备与架构才能支撑住如此庞大的流量?京东又是如转载 2015-03-19 17:48:33 · 1817 阅读 · 0 评论 -
Mongo连接池操纵MongoOptions
Mongo连接池操纵MongoOptions 2012-07-19 18:04:54| 分类:mongodb | 标签:|字号大中小 订阅 MongoOptionsjava驱动中,可以在获取mongo实例时,指定一些参数,如下:ServerAddress serverAddress=new ServerAddr转载 2014-12-15 15:16:50 · 837 阅读 · 0 评论 -
mongodb replica set 多服务器 高可用 配置 详解
-- mongodb replicaset的搭建1 download the install packagewget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.3.tgz (地址不一定对,自己去官网下在最新的版本)2 uncompress the packagetar -xvf mongodb-linux-x转载 2014-12-16 16:37:07 · 749 阅读 · 0 评论 -
Mongodb后台daemon方式启动
Mongodb可以通过命令行方式和配置文件的方式来启动,具体命令如下:命令行:Shell代码 [root@localhost mongodb]# ./bin/mongod --dbpath=/data/db 配置文件:Shell代码 [root@localhost mong转载 2014-12-15 17:22:03 · 646 阅读 · 0 评论 -
征服 Mongodb 之 主从复制&集群复制
廉颇老矣,尚可饭否?然也!Mongodb的研究总是断断续续,需要持续经营,将其积累,为日后的工作提供参考。年底了,把今年用到的东西做个收敛。把这个年初就写了点的东西再好好收拾收拾。今天尝试一把复制集群ReplicateSet模式,做个小总结,后续在这个帖子上不断填充。 集群配置相关链接:征服 Mongodb 之 安装与系统服务配置征服 Mongodb 之 主从复制&集群转载 2014-12-15 16:31:12 · 453 阅读 · 0 评论 -
mongodb 总结
生产环境最佳实践 1.linux 系统: 1】关闭文件系统/分区的atime 选项 Vi /etc/fstab 在对应的分区项后面添加noatime ,nodiratime LABEL=/1 / ext3 defaults 1 1 LABEL=/data1 /data ext4 defaults,noatime,nodiratime 1 2 2】设置文件句柄4k+,目前转载 2014-12-16 15:28:29 · 525 阅读 · 0 评论 -
关于MongoDB你需要知道的几件事
Henrique Lobo Weissmann是一位来自于巴西的软件开发者,他是itexto公司的联合创始人,这是一家咨询公司。近日,Henrique在博客上撰文谈到了关于MongoDB的一些内容,其中有些观点值得我们,特别是正在和打算使用MongoDB的开发者关注。到目前为止,MongoDB在巴西是最为流行的NoSQL数据库(至少根据关于MongoDB的博客数量以及文章所判断)。MongoD转载 2014-12-16 14:17:02 · 419 阅读 · 0 评论 -
tomcat+solr+IK全过程
solr初触,在用jetty跑通以后,开始在tomcat下进行配置。首先,下载最新版的solr ,http://apache.dataguru.cn/lucene/solr/4.2.1/1:将dist目录下的solr-4.2.0.war 复制到tomcat 下的webapps根目录,重命名为solr.war,运行tomcat,solr.war被解压。2:在tomcat根目录转载 2014-05-04 15:59:32 · 619 阅读 · 0 评论 -
solr检索乱码的问题
可能的错误地方: 1.jsp页面编码 2.表单编码 3.servlet可接受编码 4.tomcat中server.xml文件中的指定编码 所有的编码要统一,一般使用“UTF-8”比较好我最近一次出错的是第四种情况,问题已经解决,解决方法: 修改发布solr的tomcat服务器中“server.xml”配置文件。修改前: "80转载 2014-05-04 15:59:04 · 2960 阅读 · 0 评论 -
关于postgresql的种种恶心问题
恶心问题1:psql: 无法联接到服务器: 没有那个文件或目录 服务器是否在本地运行并且在 Unix 域套接字 "/var/run/.s.PGSQL.5432"上准备接受联接?问题分析 --postgresql服务未开启,你可以用nmap -p 5432 127.0.0.1 看一下端口状态,或者ps -ef | grep postgres 看看有无进程。可能原创 2012-03-01 16:07:05 · 15629 阅读 · 0 评论 -
Memcached 集群架构方面的问题
集群架构方面的问题 memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据。 客户端可以把数据存储在多台memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈希),进而选中一个节点;客户端将请求发送给转载 2013-11-27 18:37:51 · 529 阅读 · 0 评论 -
数据库优化方案(一)
数据库优化方案(一)关于数据库优化方面的文章很多,但是有的写的似是而非,有的不切实际,对一个数据库来说,只能做到更优,不可能最优,并且由于实际需求不同,优化方案还是有所差异,根据实际需要关心的方面(速度、存储空间、可维护性、可拓展性)来优化数据库,而这些方面往往又是相互矛盾的,下面结合网上的一些看法和自己的一些观点做个总结。 一个系统的性能的提高,不单单是试运行或者维护阶段的性能转载 2013-11-27 19:37:46 · 561 阅读 · 0 评论 -
MySQL数据库优化总结
MySQL数据库优化总结 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小。下面我们逐个阐明: 一、数据库设计 适度的反转载 2013-12-01 22:38:36 · 659 阅读 · 0 评论 -
Memcached,一个分布式的缓存 缓存命中率
Memcached,一个分布式的缓存 缓存命中率2011-08-21 17:52Memcached,一个分布式的缓存 缓存命中率:Q:什么样的缓存才是好缓存?能解决问题的缓存就是好缓存。这句话简直就是废话,相当于白猫、黑猫,抓住老鼠的就是好猫。那在解决问题前提下,哪个缓存才是好缓存呢?这个问题我的答案是:缓存命中率高的缓存是好缓存。在解决问题前提下,命转载 2013-12-05 00:14:10 · 2017 阅读 · 0 评论