Skip to main content

MapReduce

· 35 min read
therainisme
快乐!

Abstract  MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the paper......

MapReduce: Simplified Data Processing on Large Cluster 的部分翻译

字符串哈希

· 4 min read
therainisme
快乐!

简介

该算法通过把字符串变成一个 pp 进制数字(哈希值),实现将不同的字符串映射到不同的数字。计算方法是,对形如 X1X2...XnX_{1}X_{2} ... X_{n} 的字符串,将每一位上的字符 ASCII 码乘上 pp 的不同次方之和来计算哈希值:

(X1×Pn1+X2×Pn2++Xn1×P1+Xn×P0)modQ(X_{1} \times P^{n-1} + X_{2} \times P^{n−2} + ⋯ + X_{n−1} \times P^1 + X_n \times P^0) \mod Q

Goroutine 和线程

· 7 min read
therainisme
快乐!

goroutine 和操作系统的线程实际上只是一个量的区别,但量变会引起质变的道理同样适用于 goroutine 和 thread。

关于 Golang 的并发非阻塞缓存

· 11 min read
therainisme
快乐!

本文将使用 httpGetBody 作为需要缓存的函数。它会进行 HTTP GET 请求,并获取 HTTP 响应 Body。这个函数的调用开销较大,现在想对每一个进行的 HTTP GET 请求的结果保存下来。