摘要: 1、查询所有 输出: 使用asList()是可以的,但实际上,fetch()通常是更好的选择。 2、条件过滤 使用filter比fiele更简洁,但要注意语法。 阅读全文
posted @ 2018-10-30 09:32 遥远2 阅读(308) 评论(0) 推荐(0)
摘要: 更新由2部分组成:一个查询和一组更新操作符。本例是跟所有薪水小于等于2000的员工涨工资500。 输出: 2表示修改了2条。 阅读全文
posted @ 2018-10-30 09:32 遥远2 阅读(192) 评论(0) 推荐(0)
摘要: 输出:WriteResult{n=1, updateOfExisting=false, upsertedId=null} 虽然delete方法有很多,但这是最常用的。 但是,其父记录的directReports中存在着的该记录却没有被删除。 阅读全文
posted @ 2018-10-30 09:32 遥远2 阅读(202) 评论(0) 推荐(0)
摘要: 1、filter 操作符:org.mongodb.morphia.query.FilterOperator 2、field 阅读全文
posted @ 2018-10-30 09:32 遥远2 阅读(239) 评论(0) 推荐(0)
摘要: 转自:https://blog.csdn.net/jack85986370/article/details/51483872 1、String: 主要用于存储字符串,显然不支持分页和排序。2、Hash: 主要用于存储key-value型数据,评论模型中全是key-value型数据,所以在这里Hash 阅读全文
posted @ 2018-10-30 09:32 遥远2 阅读(237) 评论(0) 推荐(0)
摘要: 下载:https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.3.tgz/download 解压:tar -zxvf mongodb-linux-x86_64-rhel70-4.0.3.t 阅读全文
posted @ 2018-10-30 09:31 遥远2 阅读(437) 评论(0) 推荐(0)
摘要: https://my.oschina.net/mdxlcj/blog/1859527 阅读全文
posted @ 2018-10-30 09:31 遥远2 阅读(115) 评论(0) 推荐(0)
摘要: 二、Mapping classes entity类上加注解:@Entity,其成员变量必须有@Id 其在mongodb中变量名: _id @Embedded,标示子类(子文档),用了@Embedded,@Id可以不存在。 例子: @Entity("employees"):标示mongodb中文档名为 阅读全文
posted @ 2018-10-30 09:31 遥远2 阅读(455) 评论(1) 推荐(0)
摘要: 1、简单 存储: 2、添加子集合 存储: 3、添加父 存储: 阅读全文
posted @ 2018-10-30 09:31 遥远2 阅读(158) 评论(0) 推荐(0)
摘要: 报:Failed to mark a promise as success because it has succeeded already 解决: 法1:write方法中的promise去掉。因为,write中带参数 promise,会自动执行promise.setSuccess(); 法2:去掉 阅读全文
posted @ 2018-10-30 09:30 遥远2 阅读(656) 评论(0) 推荐(0)
摘要: 改造timer,即客户端与服务端建立连接后,服务端主动向客户端发送当前时间。 server: TimeServerHandler TimeEncoder 注意: 1、在TimeServerHandler中,ctx.writeAndFlush(new UnixTime()),已经writeAndFlu 阅读全文
posted @ 2018-10-30 09:30 遥远2 阅读(123) 评论(0) 推荐(0)
摘要: ObjectEchoServer ObjectEchoServerHandler ObjectEchoClient ObjectEchoClientHandler 阅读全文
posted @ 2018-10-30 09:30 遥远2 阅读(150) 评论(0) 推荐(0)
摘要: StringRedisTemplate: 1)、只能存储string类型的值,因此不能存储如对象 2)、序列化为string,如: RedisTemplate: 1)、可以存储任意类型,含对象。 2)、序列化采用jdk的,如: 在java中能正确读取,但是在client中就是jdk序列化后的字符了, 阅读全文
posted @ 2018-10-30 09:30 遥远2 阅读(1094) 评论(0) 推荐(0)
摘要: 总结: String类型的value(string/list/set/hash)使用StringRedisTemplate 其他类型的value(string/list/set/hash/object)使用RedisTemplate(GenericFastJsonRedisSerializer,va 阅读全文
posted @ 2018-10-30 09:30 遥远2 阅读(622) 评论(0) 推荐(0)
摘要: 本节大纲: 1、Handler的执行顺序2、自定义二进制协议(每条完整数据的组成),从而解决拆包和粘包。3、通过为每个channel创建新的handler,从而解决即使handler中使用全局变量,也可以避免竞态条件。 1、Handler的执行顺序。 2、自定义二进制协议(每条完整数据的组成),从而 阅读全文
posted @ 2018-10-30 09:29 遥远2 阅读(750) 评论(0) 推荐(0)
摘要: 从InBound里读取的ByteBuf要手动释放,还有自己创建的ByteBuf要自己负责释放。这两处要调用这个release方法。 write Bytebuf到OutBound时由netty负责释放,不需要手动调用release。 http://netty.io/wiki/reference-cou 阅读全文
posted @ 2018-10-30 09:29 遥远2 阅读(281) 评论(0) 推荐(0)
摘要: 问题:我写了MyDecoder which extends ByteToMessageDecoder,单线程没问题,但是多线程时,报'the handler should be sharable'。查看ByteToMessageDecoder,发现其不能被@sharable。 解决: 在Channe 阅读全文
posted @ 2018-10-30 09:29 遥远2 阅读(250) 评论(0) 推荐(0)
摘要: 客户端: 或者 或者 服务端: 1、继承SimpleChannelInboundHandler或ChannelInboundHandlerAdapter的server端 如果是短链接,必须在服务端关闭该channel。此时,才能通知到客户端的chanel.future.close()方法。 2、需要 阅读全文
posted @ 2018-10-30 09:29 遥远2 阅读(1179) 评论(0) 推荐(0)
摘要: 比特币就有用 C++ 实现的 Bitcoin Core,还有用 Java 实现的 BitcoinJ; 以太坊也有用 Go 语言实现的 go-ethereum,也有用 C++ 实现的 go-ethereum,还有用 Java 实现的 Ethereum(J)。 阅读全文
posted @ 2018-10-30 09:29 遥远2 阅读(168) 评论(0) 推荐(0)
摘要: 一、DiscardClientHandler 1、发送消息 2、接收服务器返回的消息。由于服务端没有返回消息,所以此处忽略。 3、发送消息后,根据结果的处理。如果成功,继续发送消息;否则,抛出异常,关闭channel。 二、DiscardClient 运行结果: 服务端: 客户端: 阅读全文
posted @ 2018-10-30 09:28 遥远2 阅读(257) 评论(0) 推荐(0)
摘要: 本节介绍TIME协议。该协议与前边的discard协议和echo协议的不同点在于:1、服务端主动发送消息给到客户端,所以需要channelActive()方法。2、发送的消息是4个字节的int3、不接收来自客户端的任何请求,所以不需要channelRead()方法。4、一旦消息发送完毕,就关闭该co 阅读全文
posted @ 2018-10-30 09:28 遥远2 阅读(134) 评论(0) 推荐(0)
摘要: TCP/IP,传输的是byte[],将byte[]放入队列中。可能会发生粘包和拆包。 比如,客户端向服务端发送了2条消息,分别为D1,D2,可能产生的情况,如下图所示: 情况一:正常的。 情况二:粘包。 情况三:拆包。即:部分数据不是一次完整发送的,而是分了至少2次发送。 如本例,D2拆成了D2_1 阅读全文
posted @ 2018-10-30 09:28 遥远2 阅读(344) 评论(0) 推荐(0)
摘要: 一、DiscardServerHandler 1、DiscardServerHandler extends ChannelInboundHandlerAdapter。ChannelInboundHandlerAdapter是ChannelInboundHandler的实现。ChannelInboun 阅读全文
posted @ 2018-10-30 09:27 遥远2 阅读(248) 评论(0) 推荐(0)
摘要: 本文转自:https://www.jianshu.com/p/0bff7c020af2 对于服务端: option():用于设置ServerChannel的选项,如:NioServerSocketChanne,来监听和接收connection。作用于当bind() 时。 childOption(): 阅读全文
posted @ 2018-10-30 09:27 遥远2 阅读(641) 评论(0) 推荐(0)
摘要: 上节介绍的是discard协议,即不给客户端返回消息。本节主要说下,echo协议,即服务端收到消息后原样返回给客户端。 为了实现此需求,只需要在DiscardServerHandler中重写channelRead()方法,即可。如下: 1、ChannelHandlerContext对象提供了很多方法 阅读全文
posted @ 2018-10-30 09:27 遥远2 阅读(194) 评论(0) 推荐(0)