redis实战课题

本课题主要围绕用户登录时,直接到redis中查找用户的登录信息,密码验证、重置密码、查询所有用户、显示登录次数最多的前3位
,最后通过(C# SQL)持久化到SQL Server 数据库中。

1、环境搭建
2、介绍客户端API
3、保存【初始化数据到redis】
4、登录【发送登录验证码,有效时间10分钟】
5、重置密码
6、显示登录次数最多的3位用户
7、持久化数据到SQL server 数据库中。

代码块如下

   public List<UserInfo> GetData()
{
//为简便,这里使用穷举例,不从DB中取数 List<UserInfo> list = new List<UserInfo>() { new UserInfo(){Id=1001,Name="李雷1001",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1002,Name="李雷1002",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1003,Name="李雷1003",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1004,Name="李雷1004",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1005,Name="李雷1005",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1006,Name="李雷1006",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1007,Name="李雷1007",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1008,Name="李雷1008",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1009,Name="李雷1009",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1010,Name="李雷1010",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1011,Name="寒梅1011",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1012,Name="寒梅1012",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1013,Name="寒梅1013",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1014,Name="寒梅1014",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1015,Name="寒梅1015",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1016,Name="寒梅1016",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1017,Name="寒梅1017",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1018,Name="寒梅1018",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1019,Name="寒梅1019",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1020,Name="寒梅1020",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1021,Name="寒梅1021",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1022,Name="寒梅1022",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1023,Name="寒梅1023",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1024,Name="寒梅1024",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1025,Name="寒梅1025",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1026,Name="寒梅1026",age=101,Pwd="1234",sex="男",times=DateTime.Now },
new UserInfo(){Id=1027,Name="寒梅1027",age=101,Pwd="1234",sex="男",times=DateTime.Now },
};
return list;
}
public void InitRedisData()
{
List<UserInfo> list = GetData();
using (IRedisClient RClient = RedisManager.GetRedisClient())
{
IRedisTypedClient<UserInfo> IRUserInfo = RClient.As<UserInfo>();
IRUserInfo.StoreAll(list);
//foreach (var item in list)
//{
// RClient.StoreAsHash<UserInfo>(item);
//}
}
}
public void ResetPwd(string id, string pwd, string newpwd)
{
using (IRedisClient RClient = RedisManager.GetRedisClient())
{
IRedisTypedClient<UserInfo> IRUserinfo = RClient.As<UserInfo>();
UserInfo userinfo = IRUserinfo.GetValue("urn:userinfo:" + id);
userinfo.Pwd = newpwd;
IRUserinfo.SetValue("urn:userinfo:" + id, userinfo);
}
}
public List<UserInfo> GetRedisData()
{
List<UserInfo> list = new List<UserInfo>();
using (IRedisClient RClient = RedisManager.GetRedisClient())
{
IRedisTypedClient<UserInfo> IRUserInfo = RClient.As<UserInfo>();
list = (List<UserInfo>)IRUserInfo.GetAll().OrderByDescending(i => i.times).OrderByDescending(i => i.Name).Take(5).ToList();
}
return list;
}

  

redis实战课题的更多相关文章

  1. Redis实战阅读笔记——开始

    Redis实战这本书,看完以后最大的不是redis本身的东西,而是作者面对实际问题的分析而给出的设计方案,可以看成NoSql设计的应用.个人从这方面收获很多,至于Redis本身的东西,这个就花一两个小 ...

  2. Redis实战阅读笔记——第一章

    Redis 实战 中文版 的20-21页看的人郁闷死了,最后看英文版才明白意思,哎,我理解能力差成这样了 其中,图 1-12 有错误,草,这个是英文版的错--应该是group:programming

  3. redis实战(01)_redis安装

    早就想对redis进行实战操作了,最近看了一些视频和参考书籍,总结总结一下,redis实战内容: 实战前先对redis做一个大概的认识: 现在开始安装redis了... redis的安装下载地址 ht ...

  4. C# Redis实战(二) [转]

    二.Redis服务  在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图               ...

  5. (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景

    随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽.这里我们将为大家分享社交巨头新浪微博.传媒巨头Viacom及图片分享领域佼佼者Pinterest带来的Redis实践,首先我们 ...

  6. C# Redis实战

    转自  :http://blog.csdn.net/qiujialongjjj/article/details/16945569 一.初步准备 Redis 是一个开源的使用ANSI C 语言编写.支持 ...

  7. Redis实战

    大约一年多前,公司同事开始使用Redis,不清楚是配置,还是版本的问题,当时的Redis经常在使用一段时间后,连接爆满且不释放.印象中,Redis 2.4.8以下的版本由于设计上的主从库同步问题,就会 ...

  8. Redis实战之Redis + Jedis

    用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等.基于这些限制,有必要考虑Redis! 相关链接: Redis实战 Redis实战之Redi ...

  9. Redis实战之征服 Redis + Jedis + Spring (一)

    Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: Redis实战 Re ...

随机推荐

  1. 模块random+os+sys+json+subprocess

    模块random+os+sys+json+subprocess 1. random 模块   (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...

  2. 3U VPX i7 刀片计算机

    产品概述 该产品是一款基于第三代Intel i7双核四线程的高性能3U VPX刀片式计算机.产品提供了多个高速PCIe总线接口,其中3个x4 PCIe 3.0接口,1个x4 PCIe 2.0接口.x4 ...

  3. Solution -「多校联训」查拉图斯特拉如是说

    \(\mathcal{Description}\)   Link.   给定 \(n\) 和 \(m\) 次多项式 \(f(x)\),求 \[\sum_{i=0}^n\binom{n}{i}f(i)\ ...

  4. web开发 小方法3-position

    值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 "left", "top", " ...

  5. node打标签、污点

    标签 1.查看当前节点的标签 kubectl get node --show-labels 2.给节点打标签 kubectl label node nodename key=value. 3.删除标签 ...

  6. python中try...excpet多种使用方法

    1 print('\n欢迎使用除法计算器!\n') 2 3 while True: 4 try: 5 x = input('请你输入被除数:') 6 y = input('请你输入除数:') 7 z ...

  7. 还不会使用linux?快来通过VMware安装centos系统吧~

    1.前言 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发, ...

  8. 企业数据仪表盘设计思路,如何设计自己的BI产品

    ​现在,很多企业的高层领导喜欢建数据仪表盘或者管理驾驶舱,甚至用巨大无比的显示屏阵列来展示各种关键业务指标KPI,那成功设计一个数据仪表盘需要如何做?又需要注意什么问题呢? 数据仪表盘是数据可视化的一 ...

  9. 别再用 Redis List 实现消息队列了,Stream 专为队列而生

    上回说到使用 Redis 的 List 实现消息队列有很多局限性,比如: 没有良好的 ACK 机制: 没有 ConsumerGroup 消费组概念: 消息堆积. List 是线性结构,想要查询指定数据 ...

  10. Java笔记——循环语句

    Java笔记--循环语句     1. while语句 规律: 1. 首先计算表达式的值. 2. 若表达式为真,则执行循环语法,直至表达式为假,循环结束.   while(表达式) 语句; 例如: i ...