![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#
拙劣的魔法
专注 坚持!
展开
-
使用c#实现redis 服务端
c# 实现redis服务端原创 2022-11-16 22:21:33 · 399 阅读 · 1 评论 -
c# 实现bytebuf
c# 实现bytebuf原创 2022-10-30 19:50:19 · 267 阅读 · 0 评论 -
c# socket 读取一个int long..
c# socket 读取一个int long..原创 2022-10-24 14:07:38 · 395 阅读 · 0 评论 -
c# socket Bytebuf
c# socket bytebuf原创 2022-10-25 03:20:39 · 261 阅读 · 0 评论 -
c# 如何编写爬虫
如何使用c# 编写爬虫?原创 2022-04-17 19:32:09 · 1385 阅读 · 0 评论 -
c# 如何编写爬虫
如何使用c# 编写爬虫?原创 2022-04-17 19:32:09 · 1385 阅读 · 0 评论 -
手写分布式缓存
CheCaChe介绍用c# 实现的一个分布式缓存使用方法1 打开项目 运行项目2 打开浏览器访问 http://127.0.0.1:2679/add/Name/张三 //添加name = 张三的缓存3 http://127.0.0.1:2679/get/Name // 获取key 为name的缓存4 http://127.0.0.1:2679/regist/节点ip地址 //注册一个节点5 项目使用了lru 实现淘汰策略,使用一致性hash进行分布节点的选中,节点中通信使用protob原创 2022-01-11 19:59:32 · 352 阅读 · 0 评论 -
c# 开发orm框架
先编写一个Code frist可以通过代码的方式创建数据库编写两个特性using System;public class NotNullAtter:System.Attribute{ }///列别名public class ColumAtter:System.Attribute{ private string name; private string types; public ColumAtter(string val) { th原创 2021-12-08 17:52:50 · 562 阅读 · 0 评论 -
net core Jwt 认证与授权
Json web token (jwt)的构成jwt 由三部分组成头部分 { 'typ': 'JWT', 'alg': 'HS256' }-playload 负载部分 存放数据 -iss (issuer):签发人- sub (subject):主题- aud (audience):受众- exp (expiration time):过期时间- nbf (Not Before):生效时间,在此之前是无效的- iat (Issued At):签发时间原创 2021-10-18 10:49:13 · 264 阅读 · 0 评论 -
初识插件式软件开发
c# 插件式开发原创 2021-08-23 12:33:22 · 1741 阅读 · 0 评论 -
奇怪的知识--位运算
运算符 & (与) //两个同时为1,结果为1,否则为0 int a = 10; //对应的二进制为 1010 int b = 11; //对应的二进制为 1011 a=a&b; // a=1010 Console.Write(a) //10运算符 | (或) //两个同时为0,结果为0,否则为1 int a = 10; //对应的二进制为 1010 int b原创 2021-07-12 20:22:46 · 87 阅读 · 0 评论 -
实现简单 c# 编辑器
想法基于反射机制开发一个小型的c# 编辑器(纯娱乐)第一步 实现对命名空间的智能提示效果输入: using SySystem.Diagnostics.Tools.dllSystem.IO.FileSystem.DriveInfo.dllSystem.Buffers.dllSystem.Data.DataSetExtensions.dllSystem.Diagnostics.StackTrace.dllSystem.Net.Http.dllSystem.Security.Cryp原创 2021-06-19 19:10:51 · 831 阅读 · 0 评论 -
Redis客户端
C#中使用redis作为缓存- 打开package包控制台- 引入CsRedis install-package CsRedisc# 中使用 #region 基本用法 using (var redis=new RedisClient("127.0.0.1",6379)) { redis.Set("name", "hangsan"); redis.Set("age", 18); st原创 2021-06-02 21:26:45 · 56 阅读 · 0 评论 -
Redis 持久化
Redis 持久化RDB 持久化RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储.Aof 持久化Aof 会在每次Redis 执行写操作时进行记录,当服务器宕机重启后 服务器会重新执行这些命令进行恢复,,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.Aof与RDB 优缺点优点:RDB在保存RDB文件时父进程唯一需要做的就是fork出一个子进程,接下来的工作全部由子进程来做,父进程不需要再做原创 2021-06-02 21:25:59 · 74 阅读 · 0 评论 -
2021-06-02
下载redis在Linux 环境下安装Redis$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz$ tar xzf redis-6.0.6.tar.gz$ cd redis-6.0.6$ make等待安装成功…启动redis进入Src文件夹$cd src$./redis-server看到如下界面说明redis服务启动成功 12780:C 31 May 2021 20:37:原创 2021-06-02 21:25:25 · 48 阅读 · 0 评论 -
redis基础教程 --基础数据类型的使用
字符串类型set 命令(向数据库写入有个字符串类型的值)Set key value ps:(key 表示一个键 value 表示键对应的值)get 命令(从redis中读取一个值)get key ps:(执行这条命令会得到一个value值)Mget 同时从数据库读取多个key-value值 Mget key1 key2Mset 同时写入多个key-value值 Mset key1 value1 key2 value3GetSet 修改已经写入数据库的值Getse原创 2021-04-13 21:09:40 · 106 阅读 · 0 评论 -
redis基础教程 --发布与订阅
redis 发布订阅redis发布 与订阅是一种信息通信模式,发送者(pub)发送信息,订阅者(sub)接收信息客户端订阅消息[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8VTIEq3T-1618319246554)(imgs\pubsub1.png)]client2,3,5分别订阅了channel1信号[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VcbjW6pO-1618319246558)(imgs\pubsub2.pn原创 2021-04-13 21:08:38 · 104 阅读 · 0 评论 -
c# 使用指针
在CLR 中,不安全代码是指无法验证的代码。 C# 中的不安全代码不一定是危险的;只是 CLR 无法验证该代码的安全性。 因此,CLR 将仅执行完全信任的程序集中的不安全代码。在c#使用不安全代码需要使用unsafe关键字 在c#使用指针时我们需要:设置项目允许编译不安全代码初步了解指针1 通过指针引用变量(间接访问) 在上面这段代码中 并没有使用ref 与 out 参数 ,但是Main 函数中的 Number1 与Number2 值依然发生了改变在指针变量中 有两个重要的运算符 &.原创 2021-01-19 19:43:35 · 1389 阅读 · 2 评论 -
.Net Core 构建 RESTful APi使用面向外部Model
在使用.Net Core 构建 RESTful APi时 我们常常会使用Entity Framework Core 我们常常使用面向外部model 来向api 消费者返回数据public class Infomation //内部Model { public string name { get; set; } public string age { get; set; } } public class infomationDto //创建面向外原创 2020-09-19 15:43:28 · 304 阅读 · 0 评论 -
C# 多线程的使用(2)--Thread类实现多线程
:Thread默认两个构造函数参数类型Theadstart和 ParameterizedThreadStartTheadstart 定义一个无参数 且类型为void的无参方法ParameterizedThreadStart 就是可以有一个Object类型参数 且返回类型为void使用Lamber来实现调用多参数方法Thread t1 = new Thread(Sum); //调用无参数且为Void类型t1.Start(); ParameterizedThreadStart st原创 2020-09-06 23:53:38 · 207 阅读 · 0 评论 -
C# 多线程的使用
C# 多线程的使用*** 多线程使用场景:简单来说:就是用于所有需要等待的操作对于一些数据量大 或者响应慢的网络请求多线程学习第一步- - -异步委托委托:委托是方法的类型安全的引用下面先了解委托中使用异步的几个方法:1 使用的Delegate类提供的BeginInvoke方法用户来执行异步BeginInvoke方法返回IAsyncResult。类型2 IsCompleted 属性 用来判断当前委托是否执行结束3 EndInvoke 方法 会一直等待 委托执行结束 返回值与委托原创 2020-09-06 23:30:02 · 372 阅读 · 0 评论 -
异步的使用 => "Task"
Task的使用添加Task 引用命名空间using System.Threading.Tasks; Console.WriteLine("主线程"); Task task = new Task (() => { Console.WriteLine("正在异步操作....."); for (...原创 2019-10-03 16:04:11 · 133 阅读 · 0 评论 -
c# 值传递和引用传递
//引用传递 使用ref参数 int age = 18; add(ref age); Console.WriteLine(age); Console.ReadKey(); // 输出结果 19 19 static void add(ref int x) { Console.Wri...原创 2019-08-27 22:38:21 · 202 阅读 · 0 评论