355 Commits (931dedf7f1808effd3915a200a5e6576fb2b3d83)

Author SHA1 Message Date
barisusakli 9e8be432b3 notification changes
-only send a notification when the person you follow creates a topic
-you still get a notification per post if you are following a topic
-changed notifications.push so that it sends the notifications over a
period of time, currently to 50 users per second
-optimized topics.notifyFollowers and
user.notifications.sendTopicNotification, they no longer query the
database for the topic and post data instead they get it as params
-you can no longer follow yourself :)
-changed mongo sortedSetRemove so that it doesn't use $in if there is
only a single value to remove
10 years ago
barisusakli 90224d2de3 removed unique for now 10 years ago
barisusakli f2883c2c9f createIndex helper 10 years ago
barisusakli 1be6a253bf make _key value index unique 10 years ago
barisusakli b65c17c5bc parseInt score 10 years ago
barisusakli e699c02b65 get less data 10 years ago
barisusakli 10ead05d4b another unused require 10 years ago
barisusakli 8cc1cc0f1b removed unused require 10 years ago
barisusakli 1eb95a71ae no need for $in 10 years ago
barisusakli feed33f6e2 closes #2100 10 years ago
barisusakli 035c32df66 dont need to pass value on upserts 10 years ago
psychobunny b42e57bfdd removing leveldb from our dbal
a) It isn't being maintained, especially not by me
b) I haven't seen anybody actually interested in this db software so
there's no real point in supporting it unless we have a few people who
are interested

If you ARE interested though - please contact me and we can figure
something out in future :)
10 years ago
psychobunny f149fb0191 linting, TIL that obj.$key is valid syntax 10 years ago
barisusakli 5db24fbe68 closes #2175 10 years ago
barisusakli 740c336480 typo 10 years ago
barisusakli dba20160ce check length 10 years ago
barisusakli 33780e6fdb closes #2133 10 years ago
barisusakli 73d358edc5 faster getTeasers
got rid of getPostIndices
10 years ago
barisusakli c72c876b04 check value 10 years ago
Julian Lam 4c70a0da4f removing postgres file from databases/ 10 years ago
Julian Lam 24ac7ba316 better templating and styling for #2099 10 years ago
Julian Lam f082849126 removing console.log 10 years ago
Julian Lam 43db2289c2 moving db selection into db.connect, where it should be 10 years ago
barisusakli 31db0d78b1 return empty array instead of undefined 10 years ago
barisusakli 3865fd3ab9 fixes crash is sets is empty 10 years ago
Julian Lam 625247611b closed #1959 10 years ago
barisusakli e8dc9fed3c remove unnecessary index
the _key:1 score:-1 index already handles reverse sorting on score
10 years ago
barisusakli 212e15b2c2 fixin redis zrevrangebyscore to return value score 10 years ago
barisusakli 34106aa209 fix fields 10 years ago
barisusakli 5fc760c6c4 unread changes 10 years ago
barisusakli 9d25772b53 added sortedSetIncrBy 10 years ago
barisusakli 176023d712 read poolsize from config 10 years ago
barisusakli c5f9a8a111 increase poolSize to 10 from default 5 11 years ago
barisusakli c5c97c784a optimize getPostIndices
only use 1 set when its in a topic
11 years ago
Julian Lam 3554887f10 back to using redis.auth 11 years ago
Julian Lam 5a36c33fac fixed #2142 -- passing in cached (pre-required) redis module into socket.io so it uses the same redis module... why? who bloody knows. 11 years ago
Julian Lam ecea917d11 closed #2097 -- NodeBB will prefer using Redis as session store if at all possible 11 years ago
Julian Lam 20819e3dfd Revert "use redis session storage instead of connect-mongo"
This reverts commit 056f89d6cf.
11 years ago
Julian Lam f41be4ae8b exposed redis' "connect" method, so socket.io can call it from outside database/redis.js, fixed NodeBB requiring Redis as a socket.io store. It will now go back to using in-memory store per process, if no redis config is found in the NodeBB configuration. re: #2097 11 years ago
barisusakli b1f492dec3 fix redis bulk zadd 11 years ago
barisusakli 515e663f85 getObjectsFix
return empty array if keys is empty or not an array
11 years ago
barisusakli c640e01969 show stack 11 years ago
barisusakli 5f2a66295c check keys 11 years ago
barisusakli 7d93926ef7 removed async.map 11 years ago
barisusakli e2707353e9 dont return unnecessary data 11 years ago
barisusakli 59120df71c bulk fix 11 years ago
barisusakli 1bad2f79ee show megabyte values 11 years ago
barisusakli 4b80bbb9c4 optimized user.delete 11 years ago
barisusakli 451c5b40fd removed debug 11 years ago
barisusakli 0a936e5dd1 unreadTids 11 years ago
barisusakli 31eccb8e7f configurable post delay before first post 11 years ago
barisusakli b3d9db10f2 notification fixes
made post notifications unique per post so they dont overwrite other
types.
11 years ago
barisusakli 35a903f9c8 closes #2074
when new notifications are pushed to uids clear their old notifications.
11 years ago
barisusakli 493d0dea1e part 1 of notif refactor 11 years ago
barisusakli 01f983e29c markAsRead improvement
takes in an array of tids instead of marking topics read 1 by 1
same for the category.markAsRead function
11 years ago
barisusakli 5222edb624 sortedSetsAdd
using mullti/bulk for redis/mongo
lets you add a score/value pair to multiple sorted sets at once
11 years ago
barisusakli ec32a3d243 mising reuqire 11 years ago
psychobunny 0727c2a0bf forgot winston 11 years ago
barisusakli 2252ab7479 notifications.prune
run every hour
dont get more than 500 notifications
11 years ago
barisusakli fe58ea55d4 moved debugs 1 level up increased key limit to 100 11 years ago
barisusakli 3f4ede0778 parseInt 11 years ago
barisusakli 017f6bde2c 50 11 years ago
psychobunny 056f89d6cf use redis session storage instead of connect-mongo 11 years ago
barisusakli e2697030ec removed reuqire 11 years ago
barisusakli a48e95b910 check keys 11 years ago
barisusakli c62f251afc added index and fixed vote button in infinite scroll 11 years ago
barisusakli 45afe2e831 cast return to bool 11 years ago
barisusakli c8692f0562 Merge remote-tracking branch 'origin/0.5.1' into cluster 11 years ago
barisusakli f81acd37db added indices on search key and id for mongo 11 years ago
barisusakli 84d0e64361 fix topic move 11 years ago
barisusakli 10b30e303b mongo posting fix 11 years ago
barisusakli 94d050fd4f removed helpers.done 11 years ago
barisusakli 8b4c61241f query change 11 years ago
barisusakli 0c8c6632d9 create index on key value 11 years ago
barisusakli 487793e692 create index on score field 11 years ago
barisusakli cd096f8832 sortedSetScores for tag counts 11 years ago
barisusakli e10eaf0d50 added tag counts to api return 11 years ago
barisusakli c358ff3d83 fix isSortedSetMembers on mongo 11 years ago
barisusakli 5e68e0b009 same deal as previous commit 11 years ago
barisusakli e137baccd9 fixed ip:recent weird 11 years ago
barisusakli 528ee335d5 optimize getTopicsByTids and getTeasers 11 years ago
barisusakli b4182f57fe simplified callback 11 years ago
barisusakli efdd795084 closes #1922 11 years ago
barisusakli eeb4c9f487 optimize getPostSummaryByPids 11 years ago
barisusakli 1a68fe5a26 possible fix for #1909 11 years ago
barisusakli 68cf064b1e cleaned up a bit 11 years ago
barisusakli d0a0d02d31 mongodb list fix 11 years ago
barisusakli d7520508e3 #1375 part1 11 years ago
psychobunny 60e74cc2c3 LTRIM support for mongo 11 years ago
psychobunny 7327730252 LTRIM support for redis 11 years ago
barisusakli 3829019bfa removed optional params 11 years ago
barisusakli 8dce99250b final fix for #1884
fix mongo functions so they return correct data if duplicate keys are
passed. getObjects(['post:1', 'post:1'], callback) was only returning
one object.
11 years ago
barisusakli a3fecee781 removed console.log err check 11 years ago
barisusakli 89bb11a58c closes #1880 11 years ago
barisusakli d00740703b use the new $text query from mongo 2.6 11 years ago
barisusakli 9d7a8fcc0b getSortedSetRevRangeWithScores 11 years ago
barisusakli b5df5c0a91 closes #1562, level session 11 years ago
barisusakli 53d68be7c0 level sortedSetsRemove 11 years ago
barisusakli 37b73e1c02 cleaner mongo setRemoveRandom 11 years ago
barisusakli 38494a2af0 pass in session directly 11 years ago
barisusakli 24ebf20d7e first commit 11 years ago
barisusakli 9aacb5e259 remove dupe code 11 years ago
barisusakli c3a9767bf6 late night optimizations
-isMemberOfSets returns true/false instead of 1/0
-when loading the posts of a topic only get the userdata for each user
once, before this commit if a topic had 10 posts from 2 different users
we were getting the user data for each user 5 times (drunk)
-getVoteStatusByPostIDs and getFavouritesByPostIDs no longer make
pids.length calls to the db, they use isMemberOfSets now
-getUserInfoForPost renamed to getUserInfoForPosts and doesnt make
uids.length calls to db, uses getMultipleUserFields instead
11 years ago
barisusakli d3fc71529a callback 11 years ago
barisusakli f80b3c3b66 simpler union 11 years ago
barisusakli 7f534cc7b8 sorted set refactor 11 years ago
barisusakli e6d8e9c959 searchIndex callbacks 11 years ago
barisusakli fd12ec763a sortedSetsRemove
instead of calling sortedSetRemove() one at a time for each id remove
value from multiple sortedSets with one db call
11 years ago
Charles 90b2d766f7 Fix callback execution in redis search
`callback` should be passed to `reds.search` otherwise the execution will be overlapped. 

For example in the plugin `nodebb-plugin-dbsearch':

```javascript
db.searchRemove('topic', tid, function() {
	if (typeof title === 'string' && title.length) {
		db.searchIndex('topic', title, tid);
	}

	if (typeof callback === 'function') {
		callback();
	}
});
```

The actual execution is like this

```
1402387863.625553 [0 127.0.0.1:16660] "zrevrangebyscore" "nodebbtopicsearch:object:6" "+inf" "0"
1402387863.625891 [0 127.0.0.1:16660] "MULTI"
1402387863.626043 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:word:123" "1" "6"
1402387863.626052 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:object:6" "1" "123"
1402387863.626060 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:word:TST" "1" "6"
1402387863.626065 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:object:6" "1" "TST"
1402387863.626071 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:word:AN0" "1" "6"
1402387863.626076 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:object:6" "1" "AN0"
1402387863.626083 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:word:TPK" "1" "6"
1402387863.626092 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:object:6" "1" "TPK"
1402387863.626104 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:word:ETTT" "1" "6"
1402387863.626116 [0 127.0.0.1:16660] "zadd" "nodebbtopicsearch:object:6" "1" "ETTT"
1402387863.626130 [0 127.0.0.1:16660] "EXEC"
1402387863.626253 [0 127.0.0.1:16660] "del" "topic:6:tags"
1402387863.626281 [0 127.0.0.1:16660] "MULTI"
1402387863.626515 [0 127.0.0.1:16660] "del" "nodebbtopicsearch:object:6"
1402387863.626524 [0 127.0.0.1:16660] "EXEC"
```

The key nodebbtopicsearch:object is added and then just being deleted again.
11 years ago
Julian Lam 584fe60284 fixed #1554, redis error handling will go back to crashing the error (though the error will be logged at least) 11 years ago
Julian Lam b1eb5b175c Merge remote-tracking branch 'origin/master' into groups-pages
Conflicts:
	src/topics/tags.js
11 years ago
barisusakli b7fcde446b proper score aggregation #1562 11 years ago
barisusakli 7585b72644 remove duplicates 11 years ago
barisusakli b32bb76429 #1562 11 years ago
Julian Lam 7afe3bea59 added getSortedSetRevUnion... just because. 11 years ago
Julian Lam 6e597a9cdb fixed tests, and added getSortedSetUnion method to redis db, added test for new redis method 11 years ago
barisusakli 746df87d89 upgrade tags to sorted set 11 years ago
Julian Lam e64c1bfec3 closed #1453 11 years ago
Julian Lam bab140c396 added pexpire and pexpireAt methods for redis and mongo. Added emoticons for leveldb (as per existing implementation by @psychobunny LOL) 11 years ago
barisusakli 5f7ed289de print stack on db error 11 years ago
barisusakli 90f5683cc2 read redis host just before connecting 11 years ago
barisusakli 6a1fa82b8b closes #1402 11 years ago
psychobunny 7a823283e4 fixed my derp 11 years ago
psychobunny f892a6793a mongo/redis - don't show passwords when typing in CLI 11 years ago
psychobunny 268be5f35c fixed LevelDB helpers 11 years ago
psychobunny 71d33c0a79 fixed mongo helpers 11 years ago
psychobunny 8a1f6eb43e forgot to export helpers as well for secondary db 11 years ago
psychobunny 290e348851 move database helpers into their own files 11 years ago
psychobunny bba3df6802 moving db.close into the parent module 11 years ago
psychobunny df5f3d185a don't attempt to initialize db until we attempt to initialize 11 years ago
psychobunny 74674c8494 Merge remote-tracking branch 'origin/master' into secondary_database
Conflicts:
	src/database/level/main.js
11 years ago
psychobunny a7582e2cca organized level helpers ala mongo driver 11 years ago
psychobunny 46b6a93e98 organizing mongo driver 11 years ago
psychobunny 9ad7ce9ca8 organizing redis driver 11 years ago
psychobunny e09b156d13 removing unnecessary return 11 years ago
psychobunny c86635b4ce making changes for compatibility with 9d405812cb 11 years ago
psychobunny 136542f8dd Merge remote-tracking branch 'origin/master' into LevelDB
Conflicts:
	tests/database.js
11 years ago
psychobunny f5716de06e forgot to use the passed in fn 11 years ago
psychobunny 2acdcd9ba2 more cleanup 11 years ago
psychobunny 4d65a51ede LevelDB - organization 11 years ago
psychobunny 5bac03a37b removed newline 11 years ago
psychobunny cbec5cd3a1 cleanup 11 years ago
psychobunny 21cb2c384e woo, NodeBB actually works on LevelDB 11 years ago
barisusakli 1e3b88a7f0 passing array straight to redis 11 years ago
barisusakli 9d405812cb changed sortedSetRangeByScore 11 years ago
psychobunny 129019777f move work on LevelDB 11 years ago
psychobunny e79284e75f LevelDB init 11 years ago
barisusakli e11efad0b7 added getSortedSetRangeByScore 11 years ago
barisusakli 7b409c095c mongo callback refactor 11 years ago
barisusakli 4f72513f19 removed keys 11 years ago