Skip to content

Commit a754a2d

Browse files
author
James Halliday
committed
some leveldb content
1 parent 3e2ec66 commit a754a2d

File tree

3 files changed

+422
-0
lines changed

3 files changed

+422
-0
lines changed

leveldb.markdown

+108
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,111 @@
22

33
an embedded key/value database
44

5+
---
6+
# embedded vs standalone
7+
8+
* embedded - in-process library
9+
* standalone - separate service
10+
11+
---
12+
# embedded databases
13+
14+
* leveldb
15+
* sqlite
16+
* berkeleydb
17+
18+
---
19+
# standalone databases
20+
21+
* postgresql
22+
* mysql
23+
* mongodb
24+
* couchdb
25+
26+
---
27+
# install
28+
29+
Since leveldb is a standalone databse,
30+
you can just install it with npm:
31+
32+
```
33+
npm install level
34+
```
35+
36+
---
37+
# and then
38+
39+
``` js
40+
var level = require('level');
41+
var db = level('./whatever.db');
42+
```
43+
44+
---
45+
# level methods
46+
47+
* `db.get()`
48+
* `db.put()`
49+
* `db.del()`
50+
* `db.batch()`
51+
* `db.createReadStream()`
52+
53+
---
54+
# put
55+
56+
``` js
57+
var level = require('level');
58+
var db = level('./whatever.db');
59+
db.put('key', 'value', function (err) {
60+
if (err) console.error(err);
61+
});
62+
```
63+
64+
---
65+
# get
66+
67+
``` js
68+
var level = require('level');
69+
var db = level('./whatever.db');
70+
db.get('key', function (err, value) {
71+
if (err) console.error(err);
72+
else console.log('value=', value);
73+
});
74+
```
75+
76+
---
77+
# del
78+
79+
---
80+
# batch
81+
82+
``` js
83+
```
84+
85+
---
86+
# createReadStream
87+
88+
---
89+
# thinking lexicographically
90+
91+
---
92+
# organizing your keys
93+
94+
---
95+
# secondary indexes
96+
97+
---
98+
# bytewise
99+
100+
---
101+
# subleveldown
102+
103+
---
104+
# modularity
105+
106+
* accountdown
107+
* subleveldown
108+
* cookie-auth
109+
110+
---
111+
#
112+

leveldb/bytewise.json

+191
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
[
2+
{
3+
"key": [
4+
"hackerspace",
5+
"sudoroom"
6+
],
7+
"value": {
8+
"name": "sudoroom"
9+
},
10+
"type": "put"
11+
},
12+
{
13+
"key": [
14+
"hackerspace",
15+
"noisebridge"
16+
],
17+
"value": {
18+
"name": "noisebridge"
19+
},
20+
"type": "put"
21+
},
22+
{
23+
"key": [
24+
"hacker",
25+
"substack"
26+
],
27+
"value": {
28+
"name": "substack",
29+
"hackerspace": "sudoroom"
30+
},
31+
"type": "put"
32+
},
33+
{
34+
"key": [
35+
"hacker",
36+
"maxogden"
37+
],
38+
"value": {
39+
"name": "maxogden",
40+
"hackerspace": "sudoroom"
41+
},
42+
"type": "put"
43+
},
44+
{
45+
"key": [
46+
"hacker",
47+
"ioerror"
48+
],
49+
"value": {
50+
"name": "ioerror",
51+
"hackerspace": "noisebridge"
52+
},
53+
"type": "put"
54+
},
55+
{
56+
"key": [
57+
"hacker",
58+
"mitch"
59+
],
60+
"value": {
61+
"name": "mitch",
62+
"hackerspace": "noisebridge"
63+
},
64+
"type": "put"
65+
},
66+
{
67+
"key": [
68+
"hacker",
69+
"wrought"
70+
],
71+
"value": {
72+
"name": "wrought",
73+
"hackerspace": "sudoroom"
74+
},
75+
"type": "put"
76+
},
77+
{
78+
"key": [
79+
"hacker",
80+
"mk30"
81+
],
82+
"value": {
83+
"name": "mk30",
84+
"hackerspace": "sudoroom"
85+
},
86+
"type": "put"
87+
},
88+
{
89+
"key": [
90+
"tool",
91+
"8d9a83"
92+
],
93+
"value": {
94+
"name": "3d printer",
95+
"hackerspace": "sudoroom"
96+
},
97+
"type": "put"
98+
},
99+
{
100+
"key": [
101+
"tool",
102+
"ea7e66"
103+
],
104+
"value": {
105+
"name": "piano",
106+
"hackerspace": "sudoroom"
107+
},
108+
"type": "put"
109+
},
110+
{
111+
"key": [
112+
"tool",
113+
"025452"
114+
],
115+
"value": {
116+
"name": "laser cutter",
117+
"hackerspace": "noisebridge"
118+
},
119+
"type": "put"
120+
},
121+
{
122+
"key": [
123+
"hacker",
124+
"yardena"
125+
],
126+
"value": {
127+
"name": "yardena",
128+
"hackerspace": "sudoroom"
129+
},
130+
"type": "put"
131+
},
132+
{
133+
"key": [
134+
"tool",
135+
"5cc709"
136+
],
137+
"value": {
138+
"name": "3d printer",
139+
"hackerspace": "noisebridge"
140+
},
141+
"type": "put"
142+
},
143+
{
144+
"key": [
145+
"usage",
146+
"d06ab1"
147+
],
148+
"value": {
149+
"tool": "8d9a83",
150+
"minutes": "45",
151+
"user": "maxogden"
152+
},
153+
"type": "put"
154+
},
155+
{
156+
"key": [
157+
"usage",
158+
"2454c1"
159+
],
160+
"value": {
161+
"tool": "8d9a83",
162+
"minutes": "20",
163+
"user": "yardena"
164+
},
165+
"type": "put"
166+
},
167+
{
168+
"key": [
169+
"usage",
170+
"ec08ed"
171+
],
172+
"value": {
173+
"tool": "ea7e66",
174+
"minutes": "14",
175+
"user": "substack"
176+
},
177+
"type": "put"
178+
},
179+
{
180+
"key": [
181+
"usage",
182+
"61baab"
183+
],
184+
"value": {
185+
"tool": "025452",
186+
"minutes": "8",
187+
"user": "mitch"
188+
},
189+
"type": "put"
190+
}
191+
]

0 commit comments

Comments
 (0)