Initial SPIKE into redis for cache

This commit is contained in:
Martyn Inglis
2016-11-07 11:55:59 +00:00
parent edf22860e1
commit aea2356ae1
6 changed files with 35 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ from app.clients.sms.firetext import FiretextClient
from app.clients.sms.loadtesting import LoadtestingClient
from app.clients.email.aws_ses import AwsSesClient
from app.clients.statsd.statsd_client import StatsdClient
from app.clients.redis.redis_client import RedisClient
from app.encryption import Encryption
@@ -30,6 +31,7 @@ mmg_client = MMGClient()
aws_ses_client = AwsSesClient()
encryption = Encryption()
statsd_client = StatsdClient()
redis_client = RedisClient()
clients = Clients()
@@ -48,6 +50,7 @@ def create_app(app_name=None):
db.init_app(application)
ma.init_app(application)
statsd_client.init_app(application)
redis_client.init_app(application)
logging.init_app(application, statsd_client)
firetext_client.init_app(application, statsd_client=statsd_client)
loadtest_client.init_app(application, statsd_client=statsd_client)

View File

View File

@@ -0,0 +1,22 @@
import redis
class RedisClient:
def init_app(self, app, *args, **kwargs):
self.active = app.config.get('REDIS_ENABLED')
self.redis = None
if self.active:
self.redis = redis.StrictRedis(
app.config.get('REDIS_HOST'),
app.config.get('REDIS_PORT')
)
def set(self, key, value):
self.redis.set(key, value)
def get(self, key):
return self.redis.get(key)
def incr(self, key):
return self.redis.incr(key)

View File

@@ -44,6 +44,8 @@ from app.errors import (
InvalidRequest
)
from app import redis_client
register_errors(notifications)
@@ -204,6 +206,9 @@ def get_notification_statistics_for_day():
@notifications.route('/notifications/<string:notification_type>', methods=['POST'])
def send_notification(notification_type):
current_app.logger.info(redis_client.incr(api_user.service_id))
if notification_type not in ['sms', 'email']:
assert False