Added redis. Chat io msg to redis list.
This commit is contained in:
		
							
								
								
									
										39
									
								
								api/redis.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								api/redis.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| const redis = require("redis") | ||||
| const client = redis.createClient() | ||||
|  | ||||
|  | ||||
| const addMessage = message => { | ||||
|   const json = JSON.stringify(message); | ||||
|   client.rpush("messages", json) | ||||
|  | ||||
|   return message | ||||
| } | ||||
|  | ||||
| const history = (skip=0, take=20) => { | ||||
|   skip = (1 + skip) * -1     // negate to get FIFO | ||||
|   return new Promise((resolve, reject) => client.lrange("messages", (skip * take), skip, (err, data) => { | ||||
|     if (err) { | ||||
|       console.log(err); | ||||
|       reject(err); | ||||
|     } | ||||
|  | ||||
|     data = data.map(data => JSON.parse(data)); | ||||
|     resolve(data); | ||||
|   })) | ||||
| } | ||||
|  | ||||
| const clearHistory = () => { | ||||
|   return new Promise((resolve, reject) => client.del("messages", (err, success) => { | ||||
|     if (err) { | ||||
|       console.log(err); | ||||
|       reject(err); | ||||
|     } | ||||
|     resolve(success == 1 ? true : false); | ||||
|   })) | ||||
| } | ||||
|  | ||||
| module.exports = { | ||||
|   addMessage, | ||||
|   history, | ||||
|   clearHistory | ||||
| }; | ||||
| @@ -62,6 +62,7 @@ | ||||
|     "mini-css-extract-plugin": "~0.5", | ||||
|     "optimize-css-assets-webpack-plugin": "~3.2", | ||||
|     "pm2": "^4.2.3", | ||||
|     "redis": "^3.0.2", | ||||
|     "sass-loader": "~7.1", | ||||
|     "uglifyjs-webpack-plugin": "~1.2", | ||||
|     "url-loader": "^2.2.0", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user