redis常用知识点总结

2018-03-27  本文已影响0人  brownchen

Redis基础概念

Redis能够提供针对k-v型值的缓存及数据存储服务,它的主要特色归纳如下:

安装Redis
若无特殊需求,Linux系统直接使用包管理工具安装redis即可。并且大多情况下,redis的配置文件不需要修改,可以直接启动服务。

Redis数据操作

redis有五种基本数据结构:

使用redis-cli命令直接连上redis的交互式命令行接口,就可以进行数据的增删改查操作了,对于常见的编程语言,也提供有API接口对redis进行调用。
字符串

创建/修改
set key value [EX seconds] [PX milliseconds] [NX|XX]
>> set id 1 NX (只有key不存在时才创建)
>> set name brown XX (只有key存在时才修改)
>> set age 26 
>> incr age (自增/自减,只有value是数值型时才可以)
>> decr age
>> set hobby tennis EX 10 (定义该值得存活时间)
删
del KEY
>> del id name age 
>>flushdb  删除此数据库中的所有值
查
>> keys * 列出所有值
>> get hobby

哈希

创建
>> hmset score brown 99 alice 95 marry 87
>> hset score bob 80
删
>> hdel score bob
修改(先删再加)
>> hdel score brown
>> hset score brown 100
查
>> hget score brown
>> hmget score alice marry

列表

创建
>> lpush colors white black
>> rpush colors yellow red
>> lset colors 0 blue
删
>> lpop colors
>> rpop colors 
修改
>> lset colors 1 blue
查
>> lindex colors 2
>> lrange colors 0 -1

集合

创建
>> sadd cities beijing shanghai hangzhou beijing (自动去重)
删
>> spop cities 2 (随机删除集中中的两个值)
查
>> srandmember cities 5 (取出5个值)
>> sismember citeis beijing
字典操作
>> sinter KEY1 KEY2 求交集
>> sunion KEY1 KEY2 求并集

有序集合

创建
>> zadd quiz 90 A 96 B 88 C
查
>> zrange quiz 0 -1 withscores

Redis事务功能

MULTI:开始一个事务;
EXEC: 执行事务;将命令队列中的所有命令依次提交、逐个执行,然后将命令结果一下返回给客户端;哪怕命令队列中某一条指令出错,不影响之后命令的执行;
WATCH:乐观锁;启动事务前,指明要监视的键,在EXEC命令执行前,如果有被监视的键的值发生改变,那么此次事务中的所有命令都不会被执行;

>>> watch id
>>> multi 
>>> set id 100
>>> set name brown
>>> set gender Male
>>> set age 26
>>> exec 

Redis发布/订阅

频道:以消息队列(list)形式保存数据
SUBSCRIBE: 客户订阅一个队列;
PUBLISH:频道管理员向频道发布消息;
UNSUBSCRIBE:客户退订此前订阅的频道;

Redis数据持久化

Redis有两种数据持久化方式:RDB和AOF

Reids主从模式

Redis主从模式具有以下特点:

  1. 一个Master可以有多个Slave;
  2. 支持链式复制;即Slave喝Master是相对而言的
  3. Master以非阻塞方式同步数据至slave;

配置方式:

  1. 配置一个外部的监听地址(bind字段)
  2. 配置文件中指明此节点是哪一个节点的Slave。slaveof <masterip> <masterport>
上一篇下一篇

猜你喜欢

热点阅读