autfish

导航

2016年6月23日 #

Redis从基础命令到实战之有序集合类型(SortedSet)

摘要: 有序集合类型是Redis五种数据类型中最高级的、也是最复杂的类型。有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一个元素的分值。使用时可以按分值排序(从低到高或从高到低)并顺序读取全部或某一范围内的元素,或者获... 阅读全文

posted @ 2016-06-23 15:13 autfish 阅读(197) 评论(0) 推荐(0) 编辑

2016年6月22日 #

Redis从基础命令到实战之集合类型(Set)

摘要: Redis集合类型的基础功能也是存储字符串列表,和列表类型的区别是字符串不能重复且没有顺序。当然,存储元素唯一性也可以通过应用程序保证,单从这一点上并没有体现出对比列表类型的特点。 其实,集合类型的一个鲜明特性是可以对多个集合求交集、并集和差集。例如在一个社交应用中,A用户有C、D两个好友,B用... 阅读全文

posted @ 2016-06-22 15:57 autfish 阅读(153) 评论(0) 推荐(0) 编辑

2016年6月20日 #

Redis从基础命令到实战之列表类型(List)

摘要: 经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加、修改整体、修改部分属性和分页查询功能,但仍然不支持删除商品的功能。这是因为商品总数是以一个自增数字记录的,且关联了新商品key的生成,删除商品后不能直接减小总数,进而会影响到分页的计算。 在本节中将完善这个功能,使用一... 阅读全文

posted @ 2016-06-20 11:35 autfish 阅读(161) 评论(0) 推荐(0) 编辑

2016年6月17日 #

编程语言与武林门派

摘要: 倚天屠龙记是金庸武侠作品中对武功和门派描写最细致的一本,其中塑造的六大门派武功各异、特色十足,围攻光明顶大战更是令人心潮澎湃。如果以各大帮派比喻当前流行的编程语言会是什么样呢?做为一个喜爱武侠的程序员,我心目中编程语言门派是这样的: C++ - 少林派 长期居于武林领袖地位,门下武功千锤百炼,博... 阅读全文

posted @ 2016-06-17 18:27 autfish 阅读(193) 评论(0) 推荐(0) 编辑

2016年6月16日 #

Redis从基础命令到实战之散列类型(Hash)

摘要: 从上一篇的实例中可以看出,用字符串类型存储对象有一些不足,在存储/读取时需要进行序列化/反序列化,即时只想修改一项内容,如价格,也必须修改整个键值。不仅增大开发的复杂度,也增加了不必要的性能开销。 一个更好的选择是使用散列类型,或称为Hash表。散列类型与Java中的HashMap相似,是一组键... 阅读全文

posted @ 2016-06-16 10:27 autfish 阅读(164) 评论(0) 推荐(0) 编辑

2016年6月15日 #

Redis从基础命令到实战之字符串类型

摘要: 字符串类型是Redis中最基本的数据类型,能存储任何形式的字符串和和二进制数据。本文以代码形式列举常用的操作命令,并在实践部分演示一个简单的商品管理功能,实现了通常使用关系型数据库开发的增改查功能,注意并没有实现删除功能,这将放在后面的列表类型中去实现。 一、常用命令 pom.xml ... 阅读全文

posted @ 2016-06-15 13:52 autfish 阅读(152) 评论(0) 推荐(0) 编辑

2016年6月13日 #

那些可能被你忽略的MySQL优化技巧

摘要: 说明:本文中的内容适用于MySQL5.1-5.6版本,不保证新的版本中仍然适用; 且只针对于大部分常见应用场景,是否有效果应以基于实际业务数据的测试为准。 1 优先把列设置为NOT NULL 允许NULL的列不仅占用更多磁盘空间,而且会影响查询分析器对SQL语句的优化,在业务场景允许的情况下应优... 阅读全文

posted @ 2016-06-13 23:31 autfish 阅读(134) 评论(0) 推荐(0) 编辑

2016年6月3日 #

使用ZooKeeper实现软负载均衡(原理)

摘要: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,提供的功能包括配置维护、名字服务、分布式同步、组服务等。 ZooKeeper会维护一个树形的数据结构,类似于Windows资源管理器目录,其中EPHEMERAL类型的节点会随着创建它的客户端断开而被删除,利用这个特性很容易实现软... 阅读全文

posted @ 2016-06-03 11:40 autfish 阅读(438) 评论(0) 推荐(1) 编辑

2016年5月20日 #

基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件

摘要: 最近处理一个日志功能,用log4net的配置不能完全满足要求,所以在其基础上简单封装了一下,支持以下功能: 1 零配置 内置默认配置,引用dll后不需要添加或修改任何配置文件也可以使用 2 动态指定文件路径和文件名 我们的需求是按请求来源和功能生成多个独立的日志文件,例如 /app编号/功能编... 阅读全文

posted @ 2016-05-20 17:35 autfish 阅读(403) 评论(0) 推荐(0) 编辑

2016年5月18日 #

MongoDB-JAVA-Driver 3.2版本常用代码全整理(4) - 地理空间索引

摘要: MongoDB的3.x版本Java驱动相对2.x做了全新的设计,类库和使用方法上有很大区别。例如用Document替换BasicDBObject、通过Builders类构建Bson替代直接输入$命令等,本文整理了基于3.2版本的常用增删改查操作的使用方法。为了避免冗长的篇幅,分为增删改、查询、聚... 阅读全文

posted @ 2016-05-18 09:11 autfish 阅读(1084) 评论(0) 推荐(0) 编辑