I wanted to cover some security aspect of Redis, using Redis Password feature. Redis uses config file to provide a password for it. The config file is usually located at /etc/redis/redis.conf if you are using linux. Look for the SECURITY section.
1 |
requirepass taswar-foobared |
If you are using docker you can set the option when you start the docker container.
1 |
docker run --name my-redis -d redis redis-server --requirepass taswar-foobared |
Afterwards if you are trying to connect to redis using redis-cli you will not be able to launch any commands in it,
1 2 3 |
# redis-cli 127.0.0.1:6379> set x hello (error) NOAUTH Authentication required. |
In order to set the value x, one will need to authenticate
1 2 3 4 5 6 |
127.0.0.1:6379> auth taswar-foobared OK 127.0.0.1:6379> set x hello OK 127.0.0.1:6379> get x "hello" |
If you are using StackExchange.Redis you can use the sample code below to connect, as you can see I am just adding the password to the connection string.
1 2 3 4 5 6 7 8 9 10 11 12 |
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => { return ConnectionMultiplexer.Connect("localhostEndpoint,password=taswar-foobared"); }); public static ConnectionMultiplexer Connection { get { return lazyConnection.Value; } } |
For other Redis topics
- Intro to Redis for .NET Developers
- Redis for .NET Developer – Connecting with C#
- Redis for .NET Developer – String Datatype
- Redis for .NET Developer – String Datatype part 2
- Redis for .NET Developer – Hash Datatype
- Redis for .NET Developer – Redis running in Docker
- Redis for .NET Developer – Redis running in Azure
- Redis for .NET Developer – Redis running in AWS ElastiCache
Leave A Comment