微软Csharp中的Redis介绍(一) winform使用redis
redis介绍:
redis:remote dictionary server 远程字典服务器。
分布式缓存:
1.memcached 最早流行
2.nosql-redis主流方案
非关系型数据库(nosql):
特点:1.基于内存 2.没有严格的数据格式,不是一行数据的列必须一样 3.丰富的类型,满足Web2.0
基于内存管理(数据存在内存),实现了5种数据结构(分别对应各种具体需求),单线程模型的应用程序,对外提供插入-查询-固化-集群的功能。
redis的windows版本,只有64位的,微软开发的。
https://github.com/MSOpenTech/redis/releases
redis-server.exe:相当于服务器
redis-cli.exe:相当于客户端
RDM-可视化的redis界面
ServiceStack(1小时3600次请求-可破解)----C#程序连接redis的dll
StackExchange 免费 ----C#程序连接redis的dll
Redis --包含Redis的处理类的dll
基于内存管理:速度快,redis还有个固化数据的功能,VirtualMemory,把一些不经常访问的数据存在硬盘里可以配置的。down掉会丢失数据,snapshot可以保存到硬盘,
AOF:数据变化记录日志,很少用
redis毕竟不是数据库,只能用来提升性能,不能作为数据的最终依据。
单线程最大的好处就是原子性操作,就是要么都成功,要么都失败,不会出现中间状态。
redis每个命令都是原子性(因为单线程),不用考虑并发。
redis的5种数据类型:
String:key-value的缓存,支持过期。value不超过512M.
Redis是单线程的,比如SetAll&AppendToValue
Hash: key-Dictionary 1.节约空间 2.更新/访问方便 Hash数据很像关系型数据库的表的一行数据,
但是字段是可以随意定制的,没有严格约束的,非常灵活。
Set:就是数据集合,无序,去重
Zset: 是一个有序集合,去重
List:链表,双向链表,允许从两端推入或者弹出元素。