中文教程链接:http://www.redis.net.cn/
Redis 简介:
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
Redis 优势:
1、性能极高,一般的读写能力在十万次左右。
2、支持丰富的数据类型,String、List、哈希、Set、Z-Set等
3、具备原子性操作,每一个操作都是原子性的
4、Redis支持数据的持久化操作,可将内存中的数据存储到磁盘里
5、支持数据的备份,即支持master-salver模式的备份
Redis 配置:
1、可以通过config命令查看或者设置配置项
基本语法:redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
config get * //获取所有的配置项
2、可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。
基本语法:redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
守护进程:daemonize no/yes
指定Redis监听端口:port 6379/xxxx
绑定主机ip:bind 127.0.0.1
客户端闲置多长时间后关闭连接:timeout 300
指定日志记录级别: loglevel verbose/debug/notice/warning
日志记录方式:logfile stdout
设置数据库的数量:databases 16
指定本地数据库文件名,默认值为dump.rdb: dbfilename dump.rdb
指定本地数据库存放目录: dir ./
设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步: slaveof <masterip> <masterport>
当master服务设置了密码保护时,slav服务连接master的密码: masterauth <master-password>
设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭: requirepass 你的密码
指定Redis最大内存限制:maxmemory <bytes>
设置同一时间最大客户端连接数,默认无限制: maxclients 128
指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,
如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,
所以有的数据会在一段时间内只存在于内存中。默认为no : appendonly no
指定更新日志文件名,默认为appendonly.aof: appendfilename appendonly.aof
指定更新日志条件,共有3个可选值:
no:表示等操作系统进行数据缓存同步到磁盘(快)
always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
......略:
Redis 数据类型:
1、String
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
注意:!一个键只能存最大512M的数据量
基本命令: SET 和 GET
例如: set name "TSY" & get name
2、哈希(Hash)
Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
基本命令: HMSET 和 HGATALL
注意:! 每个 hash 可以存储 232 - 1 键值对(40多亿)。
例如: HMSET user:1 username redis.net.cn password redis.net.cn points 200
HGETALL user:1
3、List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
基本命令:lpush、lrange
4、Set(集合)
Set是string的无需集合,
基本命令:sadd、smembers
5、ZSet(有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
基本命令:zadd、
Redis 简介:
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
Redis 优势:
1、性能极高,一般的读写能力在十万次左右。
2、支持丰富的数据类型,String、List、哈希、Set、Z-Set等
3、具备原子性操作,每一个操作都是原子性的
4、Redis支持数据的持久化操作,可将内存中的数据存储到磁盘里
5、支持数据的备份,即支持master-salver模式的备份
Redis 配置:
1、可以通过config命令查看或者设置配置项
基本语法:redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
config get * //获取所有的配置项
2、可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。
基本语法:redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
守护进程:daemonize no/yes
指定Redis监听端口:port 6379/xxxx
绑定主机ip:bind 127.0.0.1
客户端闲置多长时间后关闭连接:timeout 300
指定日志记录级别: loglevel verbose/debug/notice/warning
日志记录方式:logfile stdout
设置数据库的数量:databases 16
指定本地数据库文件名,默认值为dump.rdb: dbfilename dump.rdb
指定本地数据库存放目录: dir ./
设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步: slaveof <masterip> <masterport>
当master服务设置了密码保护时,slav服务连接master的密码: masterauth <master-password>
设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭: requirepass 你的密码
指定Redis最大内存限制:maxmemory <bytes>
设置同一时间最大客户端连接数,默认无限制: maxclients 128
指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,
如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,
所以有的数据会在一段时间内只存在于内存中。默认为no : appendonly no
指定更新日志文件名,默认为appendonly.aof: appendfilename appendonly.aof
指定更新日志条件,共有3个可选值:
no:表示等操作系统进行数据缓存同步到磁盘(快)
always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
......略:
Redis 数据类型:
1、String
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
注意:!一个键只能存最大512M的数据量
基本命令: SET 和 GET
例如: set name "TSY" & get name
2、哈希(Hash)
Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
基本命令: HMSET 和 HGATALL
注意:! 每个 hash 可以存储 232 - 1 键值对(40多亿)。
例如: HMSET user:1 username redis.net.cn password redis.net.cn points 200
HGETALL user:1
3、List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
基本命令:lpush、lrange
4、Set(集合)
Set是string的无需集合,
基本命令:sadd、smembers
5、ZSet(有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
基本命令:zadd、