C#中的Redis

163 阅读1分钟

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

参考

  1. StackExchange.Redis
  2. StackExchange.Redis文档
  3. Docker安装redis
  4. StackExchange.Redis的封装
  5. blog.csdn.net/sammy520/ar…
  6. www.cnblogs.com/cang12138/p…
  7. blog.csdn.net/Ancolie/art…