Redis
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库(NoSQL)。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。.
Docker安装Redis
## 1. 拉取镜像
docker pull redis
## 2. 创建Redis容器并启动
docker run -d --name paul-redis -p 6379:6379 --restart unless-stopped -v /home/paul/redis/data:/data -v /home/paul/redis/conf/redis.conf:/etc/redis/redis.conf redis
## 3. 查看Docker运行中的容器
docker ps
docker ps | grep redis
## 4. 查看日志
docker logs paul-redis
Redis Docker的操作
## 容器内操作
### 通过 Docker 命令进入 Redis 容器内部
docker exec -it paul-redis /bin/bash
docker exec -it paul-redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name hello-world
### 查看 key 为 name 的 value 值
> get name
### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it paul-redis redis-cli
Redis的简单使用
// 命名空间
using StackExchange.Redis;
// 初始化
ConnectionMultiplexer redisMultiplexer = ConnectionMultiplexer.Connect("localhost");
// 注入容器
services.AddSingleton<ConnectionMultiplexer>(redisMultiplexer);
// 使用
private readonly ConnectionMultiplexer _multiplexer; // 依赖注入
protected IDatabase Database => _multiplexer.GetDatabase(0);
// 字符串的值
string value = "abcdefg";
db.StringSet("mykey", value);
...
string value = db.StringGet("mykey");
Console.WriteLine(value); // writes: "abcdefg"
// 另外redis还有其它类型的对象操作方法,具体可参考后面的参考文章。