Redis开发和运维 (1) - 初识

导学

盛赞Redis

  • 高性能 Key-Value服务器
  • 支持多种数据结构
  • 丰富的功能
  • 高可用分布式支持

介绍

Redis是什么

  • 开源
  • 基于键值的存储服务系统
  • 多种数据结构
  • 高性能,功能丰富

Redis的前世今生

作者:Salvaore Sanfilippo(antirez)

脱胎于项目LLOOGG.com

支持的数据结构:

  1. Strings/Blobs/Bitmaps
  2. Hash Tables(objects)
  3. Linked Lists
  4. Sets
  5. Sorted Sets

谁再使用Redis?

  • GitHub
  • twitter
  • stackoverflow
  • Alibba
  • Baidu
  • 微博

特性

  • 速度快
    • 10w OPS
    • 数据存储在内存中
    • 使用C语言
    • 单线程
类型 每秒读写次数 随机读写延迟 访问带宽
内存 千万级 80ns 5GB
SSD盘 35000 1~0.2ms 100~300MB
机械盘 100左右 10ms 100MB左右
  • 持久性

Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘中

  • 多种数据结构

    1. Strings/Blobs
    2. Hash Tables(objects)
    3. Linked Lists
    4. Sets
    5. Sorted Sets
    6. Bitmaps(位图)
    7. HyperLogLog(超小内存唯一值计数)
    8. GEO(地理信息定位)
  • 支持多种编辑语言
    java php python ruby lua node …

  • 功能丰富

    • 发布订阅
    • Lub脚本
    • 事务
    • pipeline
  • 简单

23,000行C代码

  • 主从复制

  • 高可用,分布式

    • 高可用 => Redis-Sentinel(v2.8)支持高可用
    • 分布式 => Redis-Cluster(v3.0)支持分布式

典型应用场景

  • 缓存系统
  • 计数器
  • 消息队列系统
  • 排行榜
  • 社交网络
  • 实时系统

安装和配置

安装

Linux

1
2
3
4
5
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar -xzf redis-3.0.7.tar.gz
ln -s redis-3.0.7 redis
cd redis
make && make install

Redis可执行文件:

  • redis-serer Redis服务器
  • redis-cli Redis命令行客户端
  • redis-benchmark Redis性能测试工具
  • redis-check-aof AOF文件修复工具
  • redis-check-dump RDB文件修复工具
  • redis-sentinel Sentinel服务器(2.8以后)

三种启动方式:

  • 最简启动
1
redis-server
  • 配置文件启动
1
redis-server --port 6380
  • 动态参数启动
1
redis-server configPath

验证:

1
2
3
ps -ef | grep redis
netstat -antpl | grep redis
redis-cli -h ip port ping
  • 生产环境选择配置启动
  • 单机多实例配置文件可以用端口区分开

Redis客户端连接

1
2
3
4
5
6
7
# redis-cli -h 10.10.79.150 -p 6384
10.10.79.150:6380> ping
PONG
10.10.79.150:6380> set hello world
OK
10.10.79.150:6380> get hello
"world"

常用配置:

  • daemonize 是否是守护进程(no|yes)
  • port 对外端口(默认6379)
  • logfile 日志名
  • dir 工作目录

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :