Skip to content

Instantly share code, notes, and snippets.

View JonCole's full-sized avatar

Jon Cole JonCole

  • Microsoft Corporation
View GitHub Profile
@JonCole
JonCole / TlsVersionTest.cs
Last active June 5, 2019 21:06
TLS Version Test
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net.Security;
using System.Net.Sockets;
using System.Security.Authentication;
using System.Text;
using System.Threading.Tasks;
namespace System
@JonCole
JonCole / License-For-Source-Code.md
Last active July 7, 2020 17:57
License for Source Code

Summary

Unless otherwise noted, all source code under https://gist.github.com/joncole is licensed using a slightly modified MIT License. Key difference is that you don't have to copy this license with the source code/samples given here.

Modified MIT License

Copyright 2018 Jon Cole

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AU

@JonCole
JonCole / Redis-DebuggingKeyspaceMisses.md
Last active February 22, 2024 09:49
Redis Debugging Tips

Debugging Redis Keyspace Misses

Simply put, a keyspace "MISS" means some piece of data you tried to retrieve from Redis was not there. This usually means that one of the following things happened:

  1. The key expired
  2. They key was renamed
  3. The key was deleted
  4. The key was evicted due to memory pressure
  5. The entire database was flushed
  6. The key was never actually inserted
@JonCole
JonCole / Redis-BestPractices-General.md
Last active April 18, 2024 07:57
Redis Best Practices

Some of the Redis best practices content has moved

This content from this markdown file has moved a new, happier home where it can serve more people. Please check it out : https://docs.microsoft.com/azure/azure-cache-for-redis/cache-best-practices.

NOTE: Client specific guidance listed below is still valid and should still be considered. I will update this document once all content has been moved.

@JonCole
JonCole / StackExchangeRedisExtensions.cs
Last active March 13, 2019 19:16
StackExchange.Redis Extension Methods
namespace StackExchange.Redis
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
public static class StackExchangeRedisExtensions
{
public static IEnumerable<IServer> GetMasterServers(this IConnectionMultiplexer connection)
@JonCole
JonCole / WhatHappenedToMyDataInRedis.md
Last active October 28, 2019 19:43
What happened to my data in Redis?
@JonCole
JonCole / RedisKeyspaceNotificationsExample.cs
Last active December 22, 2023 00:27
Redis Keyspace Notification Example
using System;
namespace StackExchange.Redis
{
static class RedisKeyspaceNotifications
{
/// <summary>
/// NOTE: For this sample to work, you need to go to the Azure Portal and configure keyspace notifications with "Kxge$" to
/// 1) turn on expiration notifications (x),
/// 2) general command notices (g) and
@JonCole
JonCole / AzureRedis-PatchingExplained.md
Last active October 22, 2019 17:28
AzureRedis-PatchingProces
@JonCole
JonCole / CrashDumpHelper.cs
Last active September 25, 2017 15:47
Crash Dump instructions and Helper code for doing it programmatically.
using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
namespace System.Diagnostics
{
public static class CrashDumpHelper
{
/// <summary>
@JonCole
JonCole / SupportQuestionnaire.md
Last active May 3, 2017 17:29
Support Questionnaire

When contacting us with questions, please provide the following information to enable us to best help you.

Required Information

  • Cache Name

  • Date&Time when issue started and ended. Note: A 1-2 hour time window is ideal. If the issue is intermittent, please provide exact times for a few of the errors so that we can correlate with our logs.

    Important: Please Specify whether times are in UTC or some other Time > Zone. If you do not clarify the time zone, we don't know what time