小编Ron*_*Ron的帖子

Lazy <T>是一个线程安全的懒加载单例的好解决方案吗?

我们在get上使用双重锁定实现了一个延迟加载的单例,以确保实例仅初始化一次(而不是由于线程竞争条件而导致的两次).

我想知道如果简单地使用Lazy<T>是一个很好的解决方案吗?

IE

private static Lazy<MyClass> _instance = new Lazy<MyClass>(() => return new MyClass());

public static MyClass Instance
{
    get
    {
        return _instance.Value;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# singleton multithreading

16
推荐指数
1
解决办法
7870
查看次数

内存缓存VS. 分布式系统中的集中式缓存

我们目前正在寻找最适合访问分布式系统关键数据的解决方案,我们正在考虑是否在内存缓存中使用,而不是集中式缓存.

有关我们希望存储/访问的数据的一些信息:

  • 数据量非常小
  • 数据很冷; 这意味着它几乎没有变化,只有当人类在我们的后台系统中改变某些东西时才会改变
  • 更换时必须更新(延迟几百毫秒即可)
  • 我们的应用程序非常关键的路径,需要非常高的SLA(可靠性和响应时间(访问时间不超过20毫秒))
  • 频繁读取数据(每秒最多数千次)

我们看到它的方式如下 -

在内存缓存中

优点:

  • 比网络访问+序列化更快
  • 分布方面的可靠性更高(如果一个实例死亡,其他实例上的数据仍然存在)

缺点:

  • 代码和维护要复杂得多
  • 需要在发生更改时通知实例并且需要单独更新每个实例+需要在每个服务器的启动时加载数据
  • 增加了数据不一致的高风险(一个实例具有与其他实例不同或过时的数据)

集中缓存

为了对话,我们考虑过使用Redis.

优点:

  • 维护起来要简单得多
  • 非常可靠,我们在分布式系统中使用Redis有很多经验
  • 只有一个地方可以更新
  • 确保数据一致性

缺点:

  • 单点故障(这对我们来说是一个很大的问题); 即使我们采用这种解决方案,我们也会部署一个集群
  • 如果由于某种原因刷新缓存会发生什么

architecture caching distributed-computing distributed-caching

8
推荐指数
2
解决办法
6579
查看次数

将 ASP.NET 网站转换为原生 Android/iOS 应用程序

我有一个 ASP.NET 网站,我想将其转换为适用于 iOS/Android 设备的可下载本机应用程序。我想知道这是否可能 - 我知道使网站对移动设备友好(服务器/客户端明智)所需的所有调整,但我目前不知道如何将网站编译为本机应用程序。

此外,由于我的网站具有服务器端逻辑,因此本机应用程序应该像我的普通网站一样工作,在客户端和服务器之间发送和接收数据。

谢谢,罗恩

asp.net android cross-platform ios

5
推荐指数
1
解决办法
2万
查看次数

适用于iOS的声学指纹代码?

我已经开始研究Acoustic Fingerprint(http://en.wikipedia.org/wiki/Acoustic_fingerprint)这个主题为我的iOS宠物项目,我想知道是否有:

  1. iOS的任何开源库或源代码都可以处理这个问题?
  2. 假设我是所有行业编码器的老手,如果没有开源版本,自己实现这个问题是非常有问题的吗?
  3. iOS中的Accelerate DSP库是否能够处理这样的任务?

谢谢

iphone acoustics voice-recognition ios

4
推荐指数
2
解决办法
3366
查看次数

iOS 7的持久UDID等价物?

首先,我想说我已经完全清楚uniqueIdentifier已被弃用且有identifierForVendor&advertisingIdentifier.

我的问题是,如果有一种方法可以获得一个完全持久的设备标识符,它可以通过重新启动,应用程序卸载等方式生存.

目前我们使用identifierForVendor哪个是好的 - 但我们产品的主要要求之一是允许快速登录而无需任何注册,当人们删除我们的应用程序时,他们的保存充当"本地保存"(即使它托管在我们的服务器上) - 作为他们的identifierForVendor变化.

希望有人比我找到答案更好运(或者如果有答案的话:P)

谢谢

uniqueidentifier ios ios7

4
推荐指数
1
解决办法
2681
查看次数