随笔分类 -  数据库架构

摘要:ref: http://blog.csdn.net/gdjlc/article/details/23762549 有一个表名为 tb ,字段段名为 name ,数据类型 nchar(20) 。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: 2、假设字段有数据,则改为nvarchar2 阅读全文
posted @ 2016-08-18 11:59 _DN 阅读(599) 评论(0) 推荐(0)
摘要:1. Resources Redis Desktop Manager http://redisdesktop.com/ Redis命令的中文文档 http://redisdoc.com/ Redis安装包 官网教程 quick start:http://redis.io/topics/quickst 阅读全文
posted @ 2016-06-28 17:05 _DN 阅读(1070) 评论(0) 推荐(0)
摘要:参考: http://www.cnblogs.com/zhoub/p/3841222.html 关键命令 阅读全文
posted @ 2016-06-21 09:57 _DN 阅读(132) 评论(0) 推荐(0)
摘要:配置appendonly 打开redis.conf找到appendonly。 将 改为 配置appendfsync appendfsync always 每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用 appendfsync everysec 每秒钟强制写入磁盘一次,在性 阅读全文
posted @ 2016-06-21 09:40 _DN 阅读(1065) 评论(0) 推荐(0)
摘要:1.索引使用原则 不要对索引使用全模糊,但是 LIKE 'asdf%'是可以的,即不要Contains,可用StartWith 不要对索引进行函数,表达式操作,或者使用is null判断,否则将会使用全表扫描 不等于也会造成全表扫描,使用column 'a' 来替代 如果一个列有索引,另一个无索引,那么 c1 or c2 ,则将会造成全表扫描; 组合索引查询,如果包含前导索引,则会生效,... 阅读全文
posted @ 2015-09-23 17:38 _DN 阅读(292) 评论(0) 推荐(0)
摘要:特点: 对单个客户端可以执行连续性事务(在一个线程内); 执行命令要排队; mutil类似begin trans; exec 类似 commit; discard 用于放弃事务; watch 监听key,当key发生改变时,则整个事务失败 unwatch 放弃所有key的监听 exec,discard,unwatch命令都会清除连接中的所有监视; 多个命令在一个事务中执行,其中一个失败了,... 阅读全文
posted @ 2015-06-25 18:13 _DN 阅读(159) 评论(0) 推荐(0)
摘要:命令解释lpush key string在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。rpush key string同上,尾插入。llen key返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误。lrange key start end返回指定区间内的元素,下标从0开始,负值表示从后面计算,-1表示倒... 阅读全文
posted @ 2015-06-25 16:34 _DN 阅读(547) 评论(0) 推荐(0)
摘要:命令解释APPEND key value如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。set key value对key赋值value。setnx key value同上,如果key已经存在,返回0 。... 阅读全文
posted @ 2015-06-22 18:18 _DN 阅读(206) 评论(0) 推荐(0)
摘要:目录 Redis 连接池的问题1 1.前言1 2.解决方法1 前言 问题描述:Redis跑了一段时间之后,出现了以下异常。 Redis Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have o... 阅读全文
posted @ 2015-06-22 10:25 _DN 阅读(1149) 评论(0) 推荐(0)
摘要:Redis Key 命令 del key1 key2 … keyn删除键为key1,key2…keyn,空格分隔。persist key移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。expire key seconds为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它... 阅读全文
posted @ 2015-06-16 10:56 _DN 阅读(378) 评论(0) 推荐(0)
摘要:1.Set set是string类型的无序集合,其参考来源应该属于STL中的Set。 •set元素最大可以包含(2的32次方-1)个元素。 •set的是通过hash table实现的,hash table会随着添加或者删除自动的调整大小。 2. CRUD smembers: smembers key 返回key对应set的所有元素,结果是无序的 smembers s1 s... 阅读全文
posted @ 2015-06-12 15:24 _DN 阅读(313) 评论(0) 推荐(0)
摘要:背景:由于之前一直没有试过Linux的环境,今天加了内存之后,虚拟机开了3G,速度大大提高,对照博客试一下安装Redis的过程。 体验: 下载源码,解压,编译 $ wget http://download.redis.io/releases/redis-2.8.3.tar.gz 下载完成 $ tar xzf redis-2.8.3.tar.gz $... 阅读全文
posted @ 2015-05-26 23:23 _DN 阅读(152) 评论(0) 推荐(0)
摘要:come from:http://www.jdon.com/37794这篇文章讲了伸缩性和可用性方面的反模式,也按照自己的理解翻译了一下,欢迎各位探讨。 1 单点失败(Single Point of Failure) 大部分的人都坚持在单一的设备上部署我们的应用,因为这样部署的费用会比较低,但是我们要清楚任何的硬件设备都会有失败的风险的,这种单点失败会严重的影响用户体验甚至是拖垮你的... 阅读全文
posted @ 2015-03-28 10:44 _DN 阅读(264) 评论(0) 推荐(0)
摘要:come form: http://www.jdon.com/37793 异步 同步调用使得组件和组件之间紧密耦合起来,这样就使得要想伸缩应用就需要伸缩所有的组件,这不仅带来使得伸缩的成本增加,而且这种高度耦合性使得伸缩变得更加困难。 因此我们需要从应用角度划分出,哪些业务操作是紧密关联的,哪些是可以异步执行的,划分出那些可以异步执行的操作,然后将其进行异步化处理(比如通过... 阅读全文
posted @ 2015-03-28 10:40 _DN 阅读(343) 评论(0) 推荐(0)