Skip to content

Commit 4e5901d

Browse files
committed
add redis
1 parent 739e916 commit 4e5901d

File tree

89 files changed

+13533
-49
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+13533
-49
lines changed

autotagOverflow/config/default.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,9 @@
33
"contactPoints" : "localhost",
44
"keyspace": "autotag",
55
"table": "posts"
6+
},
7+
"Redis":{
8+
"host" : "localhost",
9+
"port" : "6379"
610
}
711
}

autotagOverflow/index.js

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//Using nodejs to build a web server
2+
13
var express = require('express');
24
var app = express();
35
var bodyParser = require('body-parser');
@@ -8,6 +10,7 @@ var path = require('path');
810
var cassandra = require('cassandra-driver');
911
var config = require('config');
1012
var session = require('express-session');
13+
var redis = require('redis');
1114

1215
//Set up static directiory
1316
app.use(express.static(path.join(__dirname, 'public')));
@@ -45,6 +48,11 @@ var keySpace = config.get('Cassandra.keyspace');
4548
var table = config.get('Cassandra.table');
4649
var cassandraClient = new cassandra.Client({contactPoints: [contactPointIP], keyspace: keySpace});
4750

51+
//Set up redis client
52+
var redis_host = config.get('Redis.host');
53+
var redis_port = config.get('Redis.port');
54+
var redis_client = redis.createClient(redis_port, redis_host);
55+
4856
//Set up route
4957
app.get('/logout', function(req, res){
5058
req.session.user = null;
@@ -71,21 +79,31 @@ app.get('/home', function(req, res){
7179

7280
app.get('/home/:post_id', function(req, res){
7381

74-
//get data from cassandra based on id
82+
// get data from cassandra or redis based on id
7583
var post_id = req.params.post_id;
76-
console.log('Retriving data for post_id %s', post_id);
7784
var tag;
78-
cassandraClient.execute("SELECT tag FROM "+table +" WHERE id = '" + post_id + "'", function(err, result){
79-
if (!err){
80-
if ( result.rows.length > 0 ) {
81-
var user = result.rows[0];
82-
var tag=user.tag;
83-
res.send({tag: tag});
84-
} else {
85-
console.log("No results");
86-
}
87-
}
88-
});
85+
console.log('Retriving data for post_id %s', post_id);
86+
// cassandraClient.execute("SELECT tag FROM "+table +" WHERE id = '" + post_id + "'", function(err, result){
87+
// if (!err){
88+
// if ( result.rows.length > 0 ) {
89+
// var user = result.rows[0];
90+
// var tag=user.tag;
91+
// res.send({tag: tag});
92+
// } else {
93+
// console.log("No results");
94+
// }
95+
// }
96+
// });
97+
redis_client.hmget(post_id, 'tags', function(err, result){
98+
if (!err){
99+
if ( result.length > 0 ) {
100+
var tag = result[0];
101+
res.send({tag: tag});
102+
} else {
103+
console.log("No results");
104+
}
105+
}
106+
});
89107
})
90108

91109
app.post('/home', function(req, res){

autotagOverflow/node_modules/double-ended-queue/.npmignore

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

autotagOverflow/node_modules/double-ended-queue/Gruntfile.js

Lines changed: 188 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

autotagOverflow/node_modules/double-ended-queue/LICENSE

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)