- 博客(17)
- 收藏
- 关注
原创 mongodb3.6系列教程9--查询操作符之逻辑操作符
1 $and1.1 语法{ $and: [ { }, { } , ... , { } ] }说明$and操作符就是java中的&&,表示必须满足给定的所有条件。$and操作符是短路操作,只要判断一个条件为false,后面都的都不会再计算。1.2 示例查询price字段等于1.99并且price字段存在的文档:db.inventory.find
2017-12-29 16:06:48 283
原创 mongodb3.6系列教程8--查询操作符之比较操作符
1 $eq1.1 语法{ field>: { $eq: value> } }说明如果field的类型为非数组,$eq的含义为相等,否则,$eq的含义为相等或包含。$eq是3.0版本新增的操作符。$eq等同于直接写 { field: }1.2 示例1–非数组比较查询qty属性值为20的文档:db.inventory.find( { qty: {
2017-12-29 15:48:41 399
原创 mongodb3.6系列教程7--更新文档
1 update() 方法1.1 语法db.collection.update( query>, update>, { upsert: boolean>, multi: boolean>, writeConcern: document> })参数说明:query : update的查询条件,类似sql update查询
2017-12-28 10:07:14 359
原创 mongodb3.6系列教程6--抛出异常的级别
WriteConcern.NONE:没有异常抛出WriteConcern.NORMAL:仅抛出网络错误异常,没有服务器错误异常WriteConcern.SAFE:抛出网络错误异常、服务器错误异常;并等待服务器完成写操作。WriteConcern.MAJORITY: 抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作。WriteConcern.FSYNC_SAFE: 抛出网络错误
2017-12-28 10:05:02 407
原创 mongodb3.6系列教程5--删除文档
1 remove()方法1.1 语法db.collection.remove( query>, justOne>)或 2.6 版本以后的语法:db.collection.remove( query>, { justOne: boolean>, writeConcern: document> })参数说明:qu
2017-12-28 09:40:03 339
原创 基于Redis的限流器的实现
1 概述系统中的接口通常都有限流,比如 70次/秒 ,如何保证我们的接口的调用次数在超过第三方接口限流的时候快速失败呢?这时候就需要限流器了。下面是笔者用redis实现限流器的流程图。 2 代码/** * 获取限流权限 * @param key * @param millisecond 毫秒数 * @param limitCount 限流次数 * @return */public s
2017-12-27 16:39:55 11428
原创 Redis实现分布式锁
1 基础方法/** * 如果为空就插入值,返回true,如果不为空则不做操作,返回false * @param key * @param value * @return */public static Boolean setIfAbsent(String key, String value){ return redisTemplate.opsForValue().setIfAbs
2017-12-27 16:37:36 5431
原创 mongodb3.6系列教程4--插入文档
1 insert()方法1.1 语法db.COLLECTION_NAME.insert(document)insert()方法可以插入单个文档,也可以传递文档数组一次性插入多个文档,一次性插入多个文档是原子性的,有一条失败就会导致全部失败。1.2 示例一次插入一个文档:db.mycol.insert({ _id: 1, name: '小明',
2017-12-26 16:48:42 422
原创 mongodb3.6系列教程3--集合操作
1 查看所有的集合show collections2 创建集合2.1 语法db.createCollection(name, options)参数说明:name: 要创建的集合的名称, 必填options: 集合的配置文档, 可选options参数说明: 字段 类型 描述 capped Boolean (可选)
2017-12-26 16:29:36 1009
原创 mongodb3.6系列教程2--数据导入导出备份恢复
1 数据导出1.1 概念mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。1.2 语法mongoexport -d dbname -c collectionname -o file --type json/csv -f field参数说明:-
2017-12-26 15:47:42 1065
原创 mongodb3.6系列教程1--数据库操作
1 新建或切换数据库新建或切换名称为 mongoTest 的数据库use mongoTest如果数据库不存在,则创建数据库,否则切换到指定数据库。2 查看所有的数据库show dbs结果:admin 0.000GBlocal 0.000GBtest 0.000GB可以看到,我们刚创建的数据库 mongoTest并不在数据库的列表中, 要显
2017-12-26 15:31:17 952
原创 Java抽奖实现
1 概述项目开发中经常会有抽奖这样的营销活动的需求,例如:积分大转盘、刮刮乐、老虎机等等多种形式,其实后台的实现方法是一样的,本文介绍一种常用的抽奖实现方法。整个抽奖过程包括以下几个方面:奖品奖品池抽奖算法奖品限制奖品发放2 奖品奖品包括奖品、奖品概率和限制、奖品记录。 奖品表:CREATE TABLE `points_luck_draw_prize` ( `id` bigint(
2017-12-26 13:40:42 23425
原创 Redis在项目中的运用总结
1 概述Redis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,本文介绍笔者在项目中使用Redis的场景。主要从以下几个方面介绍:分布式锁接口限流器订单缓存Redis和DB数据一致性处理防止缓存穿透和雪崩分布式session共享2 分布式锁Redis实现分布式锁3 接口限流器Redis实现限流器4 订单缓存整个订单的存储结构如下:使用Redis的zset数据结构存储每个
2017-12-26 13:19:17 25845
原创 SpringDataMongodb系列教程1--XML配置搭建环境
1 概述SpringDataMongodb是Spring对mongodb客户端的封装,本文将讲述如何通过XML配置的方式在项目中使用mongodb。2 引入pom依赖2.1 本文所用的依赖版本Spring:4.3.13 mongodb:3.4.10 spring-data-mongodb:1.10.9.RELEASE2.2 pom依赖<?xml version="1.0" encoding="U
2017-12-26 12:58:44 3462
原创 Java算法系列3--基于链表自定义队列
1 概述队列是一种先进先出的数据结构,本文将基于链表实现一种简单的队列,主要功能包括入队,出队。2 代码实现package com.niuniu.studyalgorithm;import java.util.Iterator;import java.util.Spliterator;import java.util.function.Consumer;/** * @author 002991
2017-12-26 12:45:40 229
原创 Java算法系列2--基于链表自定义栈
1 概述栈是一种后进先出的数据结构,本文使用链表方式实现简单的栈结构,功能包括添加、删除、遍历。2 代码实现package com.niuniu.studyalgorithm;import java.util.Iterator;import java.util.Spliterator;import java.util.function.Consumer;/** * @author 002991
2017-12-26 12:42:23 176
原创 Java算法系列1--基于数组自定义栈
目录目录概述代码实现总结1 优点2 缺点1 概述栈是一种后进先出的数据结构,本文将使用数组实现一个简单栈结构,功能如下:添加、获取、遍历以及使用泛型存储任何类型。2 代码实现package com.niuniu.studyalgorithm;import java.util.Iterator;import java.util.Spliterator;import java.util.
2017-12-26 12:38:05 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人