redis
来源:互联网 发布:c语言和java区别 编辑:程序博客网 时间:2024/05/18 02:27
1、什么是redis
目前数据库产品主要分下面两类:
uNosql
* KVRAM存储:Redis,MemcacheDB
* 图形存储: Neo4j
* 列式存储: Hbase,Cassandra
* 文档存储: MongDB
Redis: key-value形式的NoSQL服务
2、redis特点及优势
Redis:使用很大内存,提供快速读写。
优势:
1. 高性能的key-value存储系统,数据存储在内存
2. Master-slave主从同步,数据持久化
3. 支持多种数据类型 (String ,Hash ,List ,Set ,Zset)
4. 支持事务
5. 支持消息的订阅和发布机制
3、Redis安装
Redis的安装简单,部署轻量级
Linux平台
$wget http://download.redis.io/releases/redis-2.8.3.tar.gz
$ tar xzfredis-2.8.3.tar.gz
$ cdredis-2.8.3
$ make
Windows平台
官网不支持windows平台,但是可以在下面网站下载
https://github.com/MSOpenTech/redis下载,版本为2.6
redis-2.6.zip
4、Redis启停
Linux启动:
$redis-server $REDIS_DATA/conf/redis.conf
Windows启动:
$redis-server –-console
Windows && Linux停止:
$redis-cli –p port –a passwd shutdown
5、Redis常用命令
Redis的客户端很丰富,几乎所有流行的语言都有其客户端
7、 Redis数据类型
(1)String
(2) Hash
* 简单的用hash分割命名空间,防止key冲突,这种情况下和string的使用场景基本一样(除了不再原生支持位运算)
Hash常用命令:hkeys,hset,hget,hvals,hgetall,hdel,hmget,hmset
(3) List
* 业务中有先后顺序的所有列表都可以用List很好的表示
* 先进后出的队列+阻塞读操作,可以很方便实现 “生产者,消费者”这类问题,通常用于解耦应用程序的不同模块
* 单向队列,双向队列,循环队列,各种队列
List 常用命令:Lpush,Llen,Lpop,Lrange key 0 -1,linsert key before "xx" "yy"
(4) Set
* 当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择
(5) Zset
Zset常用命令:zadd key score member,zcard(个数),zrem key member (删除member)
zrange key 0 -1 withscore,zcount key min max (score 在min和max之间的个数)
zrank key member (member的排序:从小到大,排序从0开始)
zrevrange key 0 -1 [withscore] :与zrange相反,从大到小
8、Redis开发注意事项
(3)合理规划key的命名规则
9、Redis扩展
(1)纵向扩展:
* 若当前实例的内存可以满足实例的需要:在线修改实例的配置文件中的maxmemory,无需停应用
* 若当前实例的内存不能再分配 : 那就需要将实例迁移到新的机器上
Steps
Steps
10、Redis持久化
Redis的持久化方式有两种
实例灾难恢复的时候,先加载RDB,然后解析AOF文件,应用增量数据
11、Redis主从复制
* 特点:
优点:使用VIP,主备实例切换对业务透明
缺点:同一个网段使用不同的虚拟的路由ID,范围
(2)平台的高可用
故障恢复步骤:
优点:
缺点:
- Redis
- redis
- Redis
- redis
- Redis
- redis
- Redis
- redis
- REDIS
- Redis
- Redis
- redis
- Redis
- Redis
- Redis
- Redis
- Redis
- Redis
- linux的/dev/null 2>&1 &含义
- 深浅拷贝iOS中的
- FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask
- 为什么不能在子类的初始化列表里初始化父类的成员
- Ubuntu 14.10 server服务器版配置无线上网
- redis
- Opencv Mat矩阵操作注意事项
- Alibaba-AndFix Bug热修复框架原理及源码解析
- (C语言-数据结构)还原二叉树-改进
- CodeTyphon32中自带例子源码:根据数学表达式计算出结果
- 10大需要注意的web app问题
- 【IOS学习】IOS开发之视图和视图控制器
- Navicat Premium实现mysql数据库备份 还原
- Cocos2D中屏幕分辨率解释