C#中的Redis

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/bashdocker 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还有其它类型的对象操作方法,具体可参考后面的参考文章。