缓存篇-redis/memcached

年份:2018

//

8-30之后新增的内容在下面

//

日期8-30

redis与memcached的区别

1>存储区别

[

memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小
redis有部份存在硬盘上,这样能保证数据的持久性

]

2>数据类型区别

[

redis数据类型比memcached更加丰富

]

3>运行环境

redis目前官方只支持LINUX 上去行

日期:8-6

Memcached是一个自由开源的,高性能,分布式内存对象缓存系统(key-value)

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性

特征
memcached作为高速运行的分布式缓存服务器,具有以下的特点。

1协议简单
2基于libevent的事件处理
3内置内存存储方式
4memcached不互相通信的分布式

存储命令:

Set

add

replace

Append

prepend

cas

讲解/部分方法:

语法:
set 命令的基本语法格式如下:

set key flags exptime bytes [noreply] 
value 
参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。
flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes:在缓存中存储的字节数
noreply(可选): 该参数告知服务器不需要返回数据
value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

查找命令

get

gets

delete

Incr/decr

讲解/部分方法:

Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。

语法:
get 命令的基本语法格式如下:

get key
多个 key 使用空格隔开,如下:

get key1 key2 key3
参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

统计命令:

Stats

Stats items

Stats slabs

Stats sizes

Flush_all

Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。

语法:
stats 命令的基本语法格式如下:

stats

日期:4-15

主要内容:介绍redis

1定义

Nosql= not only sql

非关系型数据库

2需要理由

高并发读写

海量数据的高效率存储和访问

高扩展性和高可用性

3分类

Nosql数据库四大分类

键值对

列存储

文档数据库

图形数据库

4 比较

缓存篇-redis/memcached

5好处

Nosql

易扩展

灵活的数据模型

大数据,高性能

高可用

6 基础类型

字符串

列表

集合

散列

有序集合类型

7基本类型-基本操作方法

类型名称

string

hash

list

set

zset

set

hset

lset

sadd

zadd

get

hget

Lpush/rpush

srandmember

zrank

del

hdel

Lrem/rpop

Srem/sspop

zrem

7.1 基础类型-扩展方法

方法名

说明

String

 

incr/incrby

递增/指定 增加

Decr/decyby

递减/指定 减少

Mset/mget

多key  设值/取值

hset

 

Hmset/hmget

多key 设值/取值

hexists

判断是否存在

hlen

长度

list

 

rpoplpush

将元素从一个列表转移到另外一个列表

lindex

索引

llen

长度

set

 

sdiff

差集

sinter

交集

sunion

并集

zset

 

zrank

获取正序排序的元素的排名

zrevrank

倒序

ZREMRANGEBYSCORE

按照范围删除元素

Zremrangebyscore

按照分数删除元素


8 key的通用操作方

Keys *

Keys col_name?

Del

Exists 0 不存在  1存在

Get

Rename 原始值 新值

Expire 设置过期时间

Ttl 剩余超时时间

Type key   获取key的类型

9持久化实现方式

方式名称

rdb

aof

//

分隔:新增的内容总是出现在下面

//

日期:9-6

aof与rdb比较:

RDB
执行机制:快照,直接将databases中的key-value的二进制形式存储在了rdb文件中
优点:性能较高(因为是快照,且执行频率比aof低,而且rdb文件中直接存储的是key-values的二进制形式,对于恢复数据也快)
缺点:在save配置条件之间若发生宕机,此间的数据会丢失
AOF
执行机制:将对数据的每一条修改命令追加到aof文件
优点:数据不容易丢失
缺点:性能较低(每一条修改操作都要追加到aof文件,执行频率较RDB要高,而且aof文件中存储的是命令,对于恢复数据来讲需要逐行执行命令,所以恢复慢)