Install redis-py library: pip install redis Python code: import json import redis class BlogContentCache: def init (self, redis_host='localhost', redis_port=6379, redis_db=0): self.redis_client = redis.StrictRedis(host=redis_host, port=redis_port, db=redis_db) def get_post(self, post_id): # Check if the post is in the cache cached_post = self.redis_client.get(f'post:{post_id}') if cached_post: 29 print("Retrieving post from cache.") return json.loads(cached_post.decode('utf-8')) else: # Simulate fetching post from the database in a real scenario # For demonstration, we create a simple dictionary as a blog post post = {'post_id': post_id, 'title': f'Title of Post {post_id}', 'content': f'Content of Post {post_id}'} # Store the post in the cache for future retrieval self.redis_client.set(f'post:{post_id}', json.dumps(post)) print("Fetching post from the database and caching.") return post
Write, Run & Share Redis queries online using OneCompiler's Redis online editor and compiler for free. It's one of the robust, feature-rich online editor and compiler for Redis. Getting started with the OneCompiler's Redis editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose database as 'Redis' and start writing queries to learn and test online without worrying about tedious process of installation.
Redis is a open source, no SQL database which works on the concept of key-value pair.
Command | Syntax |
---|---|
Set | SET KEY_NAME VALUE |
Get | GET KEY_NAME |
Getset | GETSET KEY_NAME VALUE |
SetRange | SETRANGE KEY_NAME OFFSET VALUE |
Strlen | STRLEN KEY_NAME |
Append | APPEND KEY_NAME NEW_VALUE |
Exists | EXISTS KEY_NAME |
Delete | del KEY_NAME |
Increment counter | incr KEY_NAME |
Decrement counter | decr KEY_NAME |
Push Value to List | lpush listName value |
Push Value to Start/Beginning | rpush listName value |
Push Value to List only if it exists | lpushx listName value |
Remove & return value from list | lpop listName |
Remove & return value from Start/Beginning | rpop listName |
Set xth position element to value | lset listName x-1 value |
Check if hash key exists | hexists hashName field |
Get a hash key | hget hashName field |
Delete a hash key | hdel hashName field |
Get all hash content | hgetall hashName |
List all hash keys | hkeys hashName |
List number of hash keys | hlen hashName |
Get multiple hash keys | hmget key1 key2 ... |
Set multiple hash keys | hmset key1 value1 key2 value2... |
Increment a hash key | hincrby hashName field incrValue |