<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深蓝的blog &#187; 5.互联网应用开发</title>
	<atom:link href="http://www.lanxinbase.com/?cat=3&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.lanxinbase.com</link>
	<description>记录日常生活</description>
	<lastBuildDate>Sat, 07 Feb 2026 10:59:52 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.3</generator>
	<item>
		<title>美团的领域驱动设计</title>
		<link>http://www.lanxinbase.com/?p=2657</link>
		<comments>http://www.lanxinbase.com/?p=2657#comments</comments>
		<pubDate>Mon, 16 Aug 2021 08:03:19 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[4.PHP后端开发]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[领域驱动设计]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2657</guid>
		<description><![CDATA[至少30年以前，一些软件设计人员就已经意识到领域建模和设计的重要性，并形成一种思潮，Eric Evans将其定 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2657</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebSocket: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method</title>
		<link>http://www.lanxinbase.com/?p=2654</link>
		<comments>http://www.lanxinbase.com/?p=2654#comments</comments>
		<pubDate>Thu, 05 Aug 2021 02:14:55 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[go语言]]></category>
		<category><![CDATA[TEXT_FULL_WRITING]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2654</guid>
		<description><![CDATA[使用WebSocket做APP的通知服务，但是批量推送的时候报错：The remote endpoint wa [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2654</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP状态码（记录）</title>
		<link>http://www.lanxinbase.com/?p=2442</link>
		<comments>http://www.lanxinbase.com/?p=2442#comments</comments>
		<pubDate>Thu, 31 Oct 2019 01:29:09 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[4.PHP后端开发]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[go语言]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[状态码]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2442</guid>
		<description><![CDATA[HTTP状态码总的分为五类： 1开头：信息状态码 2开头：成功状态码 3开头：重定向状态码 4开头：客户端错误 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2442</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ConcurrentLinkedDeque类详解</title>
		<link>http://www.lanxinbase.com/?p=2037</link>
		<comments>http://www.lanxinbase.com/?p=2037#comments</comments>
		<pubDate>Fri, 30 Nov 2018 03:01:26 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[ConcurrentLinkedDeque]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2037</guid>
		<description><![CDATA[一、Queue接口定义 boolean add(E e);//入列 会抛出异常 boolean offer(E [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2037</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx 配置文件 nginx.conf 详解</title>
		<link>http://www.lanxinbase.com/?p=2035</link>
		<comments>http://www.lanxinbase.com/?p=2035#comments</comments>
		<pubDate>Mon, 26 Nov 2018 09:01:36 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[2.运维相关]]></category>
		<category><![CDATA[4.PHP后端开发]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[nginx.conf]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2035</guid>
		<description><![CDATA[#定义Nginx运行的用户和用户组 user www www; &#160; #nginx进程数，建议设置为等 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2035</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>开源的许可证GPL、LGPL、BSD、Apache 2.0的通俗解释</title>
		<link>http://www.lanxinbase.com/?p=1907</link>
		<comments>http://www.lanxinbase.com/?p=1907#comments</comments>
		<pubDate>Thu, 12 Jul 2018 00:20:44 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[2.运维相关]]></category>
		<category><![CDATA[4.PHP后端开发]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[Apache 2.0]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[LGPL]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1907</guid>
		<description><![CDATA[软件开发者要开源软件，不单单是开放源代码就可以了，选择一种许可证很重要，一个许可证之于软件就相当于价值观之于普 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1907</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring boot整合Redis做数据缓存</title>
		<link>http://www.lanxinbase.com/?p=1896</link>
		<comments>http://www.lanxinbase.com/?p=1896#comments</comments>
		<pubDate>Wed, 20 Jun 2018 02:21:33 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[3.数据库相关]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[jedis]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[Spring boot]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1896</guid>
		<description><![CDATA[redis是一个key-value存储系统。和Memcached类似，它支持存储的value类型相对更多，包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash（哈希类型）。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作，而且这些操作都是原子性的。在此基础上，redis支持各种不同方式的排序。与memcached一样，为了保证效率，数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件，并且在此基础上实现了master-slave(主从)同步。


       Redis 是一个高性能的key-value数据库。 redis的出现，很大程度补偿了memcached这类key/value存储的不足，在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java，C/C++，C#，PHP，JavaScript，Perl，Object-C，Python，Ruby，Erlang等客户端，使用很方便。 


      Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步，从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制，使得从数据库在任何地方同步树时，可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。


      redis的官网地址，非常好记，是redis.io。（特意查了一下，域名后缀io属于国家域名，是british Indian Ocean territory，即英属印度洋领地）目前，Vmware在资助着redis项目的开发和维护。

下面是官方的bench-mark数据： 
测试完成了50个并发执行100000个请求。
设置和获取的值是一个256字节字符串。
Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。
文本执行使用loopback接口(127.0.0.1)。
结果:读的速度是110000次/s,写的速度是81000次/s

redis提供五种数据类型：string，hash，list，set及zset(sorted set)。
string（字符串）
string是最简单的类型，你可以理解成与Memcached一模一样的类型，一个key对应一个value，其上支持的操作与Memcached的操作类似。但它的功能更丰富。
redis采用结构sdshdr和sds封装了字符串，字符串相关的操作实现在源文件sds.h/sds.c中。

list(双向链表)
list是一个链表结构，主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。

dict(hash表)
set是集合，和我们数学中的集合概念相似，对集合的操作有添加删除元素，有对多个集合求交并差等操作。操作中key理解为集合的名字。

dict中table为dictEntry指针的数组，数组中每个成员为hash值相同元素的单向链表。set是在dict的基础上实现的，指定了key的比较函数为dictEncObjKeyCompare，若key相等则不再插入。

zset(排序set)
zset是set的一个升级版本，他在set的基础上增加了一个顺序属性，这一属性在添加修改元素的时候可以指定，每次指定后，zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表，一列存value，一列存顺序。操作中key理解为zset的名字。

zset利用dict维护key -> value的映射关系，用zsl(zskiplist)保存value的有序关系。zsl实际是叉数不稳定的多叉树，每条链上的元素从根节点到叶子节点保持升序排序。]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1896</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tomcat配置SSL环境</title>
		<link>http://www.lanxinbase.com/?p=1751</link>
		<comments>http://www.lanxinbase.com/?p=1751#comments</comments>
		<pubDate>Mon, 11 Sep 2017 08:11:39 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1751</guid>
		<description><![CDATA[生成安全证书： 1.java环境：因为SUN公司提供了制作证书的工具keytool。在JDK 1.4以后的版本 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1751</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java使用websocket实现聊天室简单功能</title>
		<link>http://www.lanxinbase.com/?p=1748</link>
		<comments>http://www.lanxinbase.com/?p=1748#comments</comments>
		<pubDate>Sun, 10 Sep 2017 14:51:08 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[javax.WebSocket]]></category>
		<category><![CDATA[ServerEndpoint]]></category>
		<category><![CDATA[WebSocket]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1748</guid>
		<description><![CDATA[最近有个项目需要实现视频流的信息交换处理，但是之前一直都没有写过有关的代码，所以就想到了websocket接口 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1748</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决spring mvc跨域的问题</title>
		<link>http://www.lanxinbase.com/?p=1741</link>
		<comments>http://www.lanxinbase.com/?p=1741#comments</comments>
		<pubDate>Tue, 05 Sep 2017 06:13:37 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[5.互联网应用开发]]></category>
		<category><![CDATA[6.前端开发]]></category>
		<category><![CDATA[cors]]></category>
		<category><![CDATA[spring跨域]]></category>
		<category><![CDATA[跨域]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1741</guid>
		<description><![CDATA[java开发网站是很繁琐的事情，特别是写前端，每次运行都需要进行编译，所以需要配置跨域访问： 服务端 首先要创 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1741</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
