手记

Redis 基础数据结构和操作API

大家学实战的时候可以把我的文章翻出来,就不用自己记笔记了。节省大家学习成本。

特点

  • key-value
    • Java Map : String value = map.get(“key”)
    • Python Dict : dictionary["key "] value
    • BitMaps 位图 布隆过滤器
    • HyperLoglog 超小内存唯一值计数
    • GEO 地理信息定位
  • 速度快
    • 10w OPS 即operation per second 每秒操作次数。意味着每秒对Redis的持久化操作
    • 数据存储在内存
    • C语言
    • 单线程
  • 持久化
    • 内存(数据) -》 异步 硬盘 RDB AOF
    • 高可用 Redis-Sentinel(v2.8)
    • 分布式 Redis-Cluster(v3.0)
  • 主从复制
    • 高可用分布式
  • 功能丰富
    • 发布订阅
    • 事务
    • Lua脚本
    • pipeline
  • simple
    • 23000 lines of core code
    • 不依赖外部库(like libevent)
    • 单线程模型

典型应用场景

  • 缓存系统
  • 计数器
  • 消息队列系统 发布订阅
  • 排行榜
  • 社交网络
  • 实时系统
    • 布隆过滤器

Install

wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar-xzf redis-3.0.7.tar.gz
In-s redis-3.0.7 redis
cd redis
make && make install
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
$ make

Start method

  1. 最简启动
  2. 动态参数启动
  3. 配置文件启动
$ cd src
$ ./redis-server
验证方式
ps -ef | grep redis
netstat -antpl |grep redis
redis-cli -h ip -p port ping
动态参数启动
redis-server --port 6379
配置文件启动
redis-server 配置文件

验证

ps -ef | grep redis
netstat -antpl | grep redis
redis-cli -h ip -p port ping

.P.S

  • 生成环境选择配置启动
  • 单机多实例配置文件可以用端口区分开

客户端连接

Common Configuration

通用命令

key

  • keys*
  • 热备从节点
  • scan

dbsize

exists

del

type

数据结构和内部编码

  • 空间换时间
  • 时间换空间

单线程

Redis API

字符串

  • 场景
    • 缓存
    • 分布式锁
    • 计数器


hash 哈希

string和hash对比

用户信息

list 列表

Set 集合

  • 无序
  • 无重复
  • 集合间操作
  • smembers 无序,小心使用(数据过大时)

集合间操作

zset 有序集合

  • 无重复元素
  • 列表 -> 可以有重复元素

zadd

zrem

zscore

zincrby

zcard

zrange

zrangebyscore

zcount

zremrangebyrank

zremrangebyscore

![图片描述][1]

Jedis And redis-py

1人推荐
随时随地看视频
慕课网APP