Skip to main content

Redis .NET CORE 简单使用

· 4 min read
Alec.Ji

最近在面试,很多公司都有要求使用过 Redis ,之前没有用过,既然很多公司都要求会,自然是有原因的。本文试着简单学习下 Redis ,并了解下它与 MemoryCache 有什么区别的(之前在 LPS 缓存是用的 MemoryCache )。

定义

看下官网的说明,

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

Redis 是一个开源的内存数据结构服务器,可以作为 数据库高速缓存消息队列代理使用 。支持 字符串哈希表列表集合 等数据结构。然后内置复制,支持事务,以及不同级别的磁盘持久化(Lua,LRU没理解是什么,先跳过,有需要再研究)。Redis Sentinel (哨兵)和Redis Cluster(集群)一个支持高可用,一个支持自动分区。

嗯,看着介绍功能可以说是很强大了,不过不知道公司具体会用到什么程度,先简单看下吧。

download

linux 的虚拟机也不知道在不在了,好久没用了。先用 windows 的吧。官网没有下载地址,git 是有的。

https://github.com/microsoftarchive/redis/releases

我下了最新的3.2.100

install/start

包中自带一个Windows Service Documentation.docx很贴心。按照文档的说明,installstart

IMG

嗯,到这一步已经装好服务,并启动了。然后看下官网的quickStart

quickStart

按照官网说的做,俺也一样。

IMG

.NET

看下官网中 C# 客户端是有多个的,推荐(下图中有五角星的)使用的是有三个 Nhiredis,ServiceStack.Redis,StackExchange.Redis,估计都是足够用的,看下哪个 star 多就用哪个吧。ServiceStack.Redis(1817),StackExchange.Redis(3547),StackExchange.Redis 获得了胜利。

IMG

新建一个 .NET CORE 控制台项目。

INSTALL-PACKAGE StackExchange.Redis

真棒,有一个io的文档https://stackexchange.github.io/StackExchange.Redis/Basics

IMG

成功。

好了,基本使用就到这儿了,明天还有个面试,要收拾东西睡觉了。按照目前了解的对比下与MemoryCache的区别也就是 MemoryCache 是基于process 的,而Redis 是单独的服务器。如果是单程序应该都是一样的,多程序使用相同缓存的话,Redis 肯定优于MemoryCache(不考虑持久化)。有空或者要用到的时候再深入研究吧。

REF