Redis 初始

Redis初识

Redis是什么

  • 开源
  • 基于Key-Value的存储服务系统
  • 多数据结构(string,hash,list,set,sorted set)
  • 高性能、功能丰富

Redis的特性回顾

  • 速度快 10w OPS

    • 数据存储在内存
    • C语言(50000line)
    • 线程模型 单线程
  • 持久化(断电不丢数据)
  • 多种数据结构
    • BitMaps 位图
    • HyperLogLog 超小内存唯一值计数
    • GEO 地址信息定位
  • 支持多种编程语言
    • java
    • php
    • python
    • ruby
    • lua
    • nodejs
  • 功能丰富
    • 发布订阅
    • Lua脚本
    • 简单的事务
    • pipeline 提高并发效率
  • 简单
    • 依赖外部库
    • 单线程模型
  • 主从复制
    • 主服务器

      • 从服务器
      • 从服务器
      • 从服务器
  • 高可用、分布式
    • redis-sentinel支持高可用
    • redis-cluster支持分布式

Redis典型使用场景

  • 缓存系统

    • app server --> cache --> Storage
  • 计数器 单线程
    • 微博转发数
    • 评论数
  • 消息队列系统
  • 排行榜
    • 有序集合
  • 社交网络
    • 粉丝数
    • 关注数
  • 实时系统
    • 垃圾邮件过滤

*:first-child {
margin-top: 0 !important;
}

body>*:last-child {
margin-bottom: 0 !important;
}

/* BLOCKS
=============================================================================*/

p, blockquote, ul, ol, dl, table, pre {
margin: 15px 0;
}

/* HEADERS
=============================================================================*/

h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}

h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {
font-size: inherit;
}

h1 {
font-size: 28px;
color: #000;
}

h2 {
font-size: 24px;
border-bottom: 1px solid #ccc;
color: #000;
}

h3 {
font-size: 18px;
}

h4 {
font-size: 16px;
}

h5 {
font-size: 14px;
}

h6 {
color: #777;
font-size: 14px;
}

body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {
margin-top: 0;
padding-top: 0;
}

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0;
}

h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {
margin-top: 10px;
}

/* LINKS
=============================================================================*/

a {
color: #4183C4;
text-decoration: none;
}

a:hover {
text-decoration: underline;
}

/* LISTS
=============================================================================*/

ul, ol {
padding-left: 30px;
}

ul li > :first-child,
ol li > :first-child,
ul li ul:first-of-type,
ol li ol:first-of-type,
ul li ol:first-of-type,
ol li ul:first-of-type {
margin-top: 0px;
}

ul ul, ul ol, ol ol, ol ul {
margin-bottom: 0;
}

dl {
padding: 0;
}

dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px;
}

dl dt:first-child {
padding: 0;
}

dl dt>:first-child {
margin-top: 0px;
}

dl dt>:last-child {
margin-bottom: 0px;
}

dl dd {
margin: 0 0 15px;
padding: 0 15px;
}

dl dd>:first-child {
margin-top: 0px;
}

dl dd>:last-child {
margin-bottom: 0px;
}

/* CODE
=============================================================================*/

pre, code, tt {
font-size: 12px;
font-family: Consolas, "Liberation Mono", Courier, monospace;
}

code, tt {
margin: 0 0px;
padding: 0px 0px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px;
}

pre>code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent;
}

pre {
background-color: #f8f8f8;
border: 1px solid #ccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px;
}

pre code, pre tt {
background-color: transparent;
border: none;
}

kbd {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #DDDDDD;
background-image: linear-gradient(#F1F1F1, #DDDDDD);
background-repeat: repeat-x;
border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;
border-image: none;
border-radius: 2px 2px 2px 2px;
border-style: solid;
border-width: 1px;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
line-height: 10px;
padding: 1px 4px;
}

/* QUOTES
=============================================================================*/

blockquote {
border-left: 4px solid #DDD;
padding: 0 15px;
color: #777;
}

blockquote>:first-child {
margin-top: 0px;
}

blockquote>:last-child {
margin-bottom: 0px;
}

/* HORIZONTAL RULES
=============================================================================*/

hr {
clear: both;
margin: 15px 0;
height: 0px;
overflow: hidden;
border: none;
background: transparent;
border-bottom: 4px solid #ddd;
padding: 0;
}

/* TABLES
=============================================================================*/

table th {
font-weight: bold;
}

table th, table td {
border: 1px solid #ccc;
padding: 6px 13px;
}

table tr {
border-top: 1px solid #ccc;
background-color: #fff;
}

table tr:nth-child(2n) {
background-color: #f8f8f8;
}

/* IMAGES
=============================================================================*/

img {
max-width: 100%
}
-->

原文地址:https://www.cnblogs.com/richiewlq/p/12180525.html

时间: 2024-10-02 14:57:15

Redis 初始的相关文章

Redis之ziplist数据结构

0.前言 redis初始创建hash表,有序集合,链表时, 存储结构采用一种ziplist的存储结构, 这种结构内存排列更紧密, 能提高访存性能. 本文介绍ziplist数据结构 1.ziplist存储结构 ziplist并没有定义明确的结构体, 根据存储结构我们可以定义ziplist如下, 只是进行演示使用.其中content字段存储实际的实体内容, 实体 typedef struct ziplist{ /*ziplist分配的内存大小*/ uint32_t bytes; /*达到尾部的偏移量

源码安装redis-3.0.5

##### 安装redis-server ##### # 创建运行用户 useradd redis -s /sbin/nologin -M # 上传软件到指定位置,我的软件保存位置为 mkdir -p /server/tools/ # 解压,配置,编译,安装 cd /server/tools/ tar -zxf redis-3.0.5.tar.gz  cd redis-3.0.5 make PREFIX=/usr/local/redis make PREFIX=/usr/local/redis 

【Redis篇】Redis集群安装与初始

一.前述 本文将单台节点不同端口模拟集群方式. 二.具体搭建 前提是安装好redis具体可参考http://www.cnblogs.com/LHWorldBlog/p/8463269.html 1.规划 redis集群 3.x版本物理节点1个指定3个主节点端口为7000.7001.7002对应的3个从节点端口为7003.7004.7005 2.创建配置 mkdir cluster-testcd cluster-testmkdir 7000 7001 7002 7003 7004 7005在700

【Redis篇】初始Redis与Redis安装

一.前述 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,Redis支持各种不同方式的排序. 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无

SpringBoot初始教程之Redis集中式Session管理

1.介绍 有关Session的管理方式这里就不再进行讨论,目前无非就是三种单机Session(基于单机内存,无法部署多台机器).基于Cookie(安全性差).基于全局的统一Session管理(redis.mysql)等多种方式 针对于像淘宝这种超大型网站来说Session如何管理的就无从得知了.但是可以通过yy的方式想象一下,这种大型架构都需要部署多台认证Server,但是一般来说集中式Session无法存储那么多的Session 那么就可以通过UID分片的形式来存储,不同UID分布在不同的Se

从零开始---初始redis

1.  redis基础 1.1. 定义 redis是一个开源的.使用C语言编写的.支持网络交互的.基于内存可持久化的高性能key-value型NoSQL数据库 1.2. 数据类型 String                     字符串 整数 浮点数 Hash                      包含键值对的无序散列表 List                         一个链表,链表上的每个节点都包含了一个字符串 Set                         包含字符

初始Redis分布式锁

在分布式应用中经常出现并发的问题,比如对用户的状态做一个修改 ,那么就涉及到先取出数据再进行修改,但是这样常常会引发问题,因为读和写是两个操作,不是原子性(不可分割的)的操作.当同时进行该操作时往往会引发并发问题. 这时就要用到分布式锁. 在Reids中的分布式锁实际上就相当于一个占坑,当坑上有人的时候别人必须再外面等待,同时只允许一个人占坑.而在Redis中提供了一个setnx的指令来对key进行加锁: setnx mylock true ...do something... //做一些业务逻

redis 集群

redis 集群 redis集群是redis提供分布式数据库方案, 集群通过分片(Sharding)来进行数据共享,并提供复制和故障转移功能. 节点 redis集群通常由多个节点(node)组成,在开始每个node 都是相互独立的. 要组建成真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群. 命令 cluster meet <ip> <port> 向一个node 发送命令 cluster meet,让节点与ip/port所指定的节点 进行握手(hand

如何在Ubuntu 16.04上将Redis服务器设置为PHP的会话处理程序

介绍 Redis是一个开源的键值缓存和存储系统,也称为数据结构服务器,因为它对几种数据类型(如散列,列表,集合和位图等)提供高级支持.它还支持集群,使其在高可用性和可扩展的环境中非常有用. 在本教程中,我们将看到如何安装和配置一个外部Redis服务器,用作在Ubuntu 16.04上运行的PHP应用程序的会话处理程序. 会话处理程序负责存储和检索保存到会话中的数据.默认情况下,PHP使用文件这一点.这对于单个服务器工作得很好,但是由于会话信息被绑定到单个服务器,所以具有一些显着的性能和可扩展性限