Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var Promise = require("bluebird");
- var getSqlConnection = require('../common/database');
- var redisModules = require("../common/redismodule");
- function getSettings(request, response)
- {
- if (redisModules.IsRedisConnectionOpened() == true)
- {
- return GetData();
- }
- else
- {
- response.status(500).send();
- return;
- }
- function GetData()
- {
- redisModules.GetRedisValue("key")
- .then(function (result)
- {
- if (!result)
- return new SetData();
- else
- return result;
- })
- .catch(function (e)
- {
- response.status(500).send();
- })
- .then(function (result)
- {
- response.status(200).send({ value : result });
- });
- }
- function SetData()
- {
- return Promise.using(getSqlConnection(), function(connection)
- {
- return connection.query('select url from blog')
- .then(function(results)
- {
- var data = "";
- // some code
- return data;
- })
- .then(function (result)
- {
- return new redisModules.SetRedisValue("key", result);
- });
- });
- }
- }
- var mysql = require('promise-mysql');
- pool = mysql.createPool({
- host: '',
- user: '',
- password: '',
- database: '',
- connectionLimit: 4
- });
- function getSqlConnection() {
- return pool.getConnection().disposer(function(connection) {
- pool.releaseConnection(connection);
- });
- }
- module.exports = getSqlConnection;
- var Promise = require('bluebird');
- var constants = require('../common/contants');
- var redisClient; // Global (Avoids Duplicate Connections)
- module.exports =
- {
- OpenRedisConnection : function()
- {
- if (redisClient == null)
- {
- redisClient = require("redis").createClient(6379, 'localhost');
- }
- },
- IsRedisConnectionOpened : function()
- {
- if (redisClient && redisClient.connected == true)
- {
- return true;
- }
- else
- {
- if(redisClient)
- redisClient.end(); // End and open once more
- module.exports.OpenRedisConnection();
- return true;
- }
- },
- GetRedisValue: function (key)
- {
- return new Promise(function (resolve, reject)
- {
- redisClient.get(key, function (error, result)
- {
- if (error)
- {
- reject(error);
- }
- else
- {
- if (result == null)
- resolve(); // Key not present so create
- else
- resolve(result);
- }
- });
- });
- },
- SetRedisValue: function (key, value)
- {
- return new Promise(function (resolve, reject)
- {
- redisClient.set(key, value, 'EX', 1000,
- function(err,reply)
- {
- if (reply == 'OK')
- resolve(value); // Send the value
- else
- reject(err);
- });
- });
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement