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.
/* | |
* Copyright (C) 2016 Google Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
* use this file except in compliance with the License. You may obtain a copy of | |
* the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software |
/* commands to run on the coordinator */ | |
CREATE EXTENSION citus; | |
SELECT master_add_node('10.0.0.2', 5432); | |
SELECT master_add_node('10.0.0.3', 5432); | |
SELECT start_metadata_sync_to_node(nodename, nodeport) FROM pg_dist_node; | |
SET citus.replication_model TO 'streaming' | |
CREATE TABLE events ( | |
event_id bigserial primary key, |
CREATE TABLE rollups ( | |
name text, | |
rolled_up_generation bigint default -1 | |
); | |
-- Create a stub on workers to allow usage as a default in distributed tables | |
SELECT run_command_on_workers($$ | |
CREATE OR REPLACE FUNCTION current_rollup_generation(rollup_name text) | |
RETURNS bigint LANGUAGE sql | |
AS $function$ |
package main | |
import ( | |
"context" | |
"flag" | |
"fmt" | |
"log" | |
"net/http" | |
"os" | |
"os/signal" |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
using System.Net.Http; | |
using System.Security.Cryptography; | |
using System.Security.Cryptography.X509Certificates; | |
using System.Text; | |
using System.Threading; | |
using System.Threading.Tasks; |
This document describes the relationship between Memory<T>
and its related classes (MemoryPool<T>
, IMemoryOwner<T>
, etc.). It also describes best practices when accepting Memory<T>
instances in public API surface. Following these guidelines will help developers write clear, bug-free code.
-
Span<T>
is the basic exchange type that represents contiguous buffers. These buffers may be backed by managed memory (such asT[]
orSystem.String
). They may also be backed by unmanaged memory (such as viastackalloc
or a rawvoid*
). TheSpan<T>
type is not heapable, meaning that it cannot appear as a field in classes, and it cannot be used acrossyield
orawait
boundaries. -
Memory
is a wrapper around an object that can generate aSpan
. For instance,Memory
instances can be backed byT[]
,System.String
(readonly), and evenSafeHandle
instances.Memory
cannot be backed by "transient" unmanaged me
This document describes the APIs of Memory<T>
, IMemoryOwner<T>
, and MemoryManager<T>
and their relationships to each other.
See also the Memory<T>
usage guidelines document for background information.
Memory<T>
is the basic type that represents a contiguous buffer. This type is a struct, which means that developers cannot subclass it and override the implementation. The basic implementation of the type is aware of contigious memory buffers backed byT[]
andSystem.String
(in the case ofReadOnlyMemory<char>
).
# editorconfig.org | |
root = true | |
[*] | |
indent_style = space | |
indent_size = 2 | |
end_of_line = lf | |
charset = utf-8 | |
trim_trailing_whitespace = true | |
insert_final_newline = false |