-
丰富的数据类型,支持string、hash、list、set及zset多种数据类型
-
原子性,所有操作都是原子性的,支持事务
-
丰富的特性,支持发布订阅、通知、过期策略等
-
支持持久化,可以将内存中的数据保存在磁盘中,重启后再次加载
-
支持分布式,理论上可以无限扩展
安装Redis
=====================================================================
Linux安装
安装c编译器
yum -y install gcc
下载redis
cd /usr/local
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
解压redis
tar xzf redis-3.2.5.tar.gz
mv redis-3.2.5 redis
编译redis
cd redis
make
配置redis
修改redis.conf,注释下面两行
bind 127.0.0.1 去掉绑定本机IP,让其它机器访问 protected mode no 关闭保护模式启动redis服务器
切换到src中
./redis-server …/redis.conf
启动redis客户端
./redis-cli
Windows安装
从官网下载redis的windows版本
https://github.com/tporadowski/redis/releases
解压后,双击redis-server.exe,就完成了Redis启动

Redis的数据类型
========================================================================
Redis数据类型有:
-
string 字符串
-
hash 哈希
-
list 列表
-
set 集合
-
zset 有序集合
string
字符串是基本的key-value结构
设置值
set name “zhagnsan”
set name “zhagnsan” EX 60 //EX是过期时间,单位是秒
读取值
get name
示例:
127.0.0.1:6379> set name “zhangsan”
OK
127.0.0.1:6379> get name
“zhangsan”
hash
hash可以保存一个对象的多个key-value
保存对象,student是对象名称,name和age是属性名称
hmset student name “zhangsan” age 20
读取对象属性
hmget student name
读取对象所有属性
hgetall student
示例:
127.0.0.1:6379> hmset student name “zhangsan” age 20
OK
127.0.0.1:6379> hmget student name
- “zhangsan”
127.0.0.1:6379> hgetall student
-
“name”
-
“zhangsan”
-
“age”
-
“20”
list
list采用链表结构保存多个数据,是有序的、可重复的。
添加列表
lpush students zhangsan
lpush students lisi
lpush students wangwu
读取列表,0和2是开始和结束位置
lrange students 0 2
示例:
127.0.0.1:6379> lpush students zhangsan
(integer) 1
127.0.0.1:6379> lpush students lisi
(integer) 2
127.0.0.1:6379> lpush students wangwu
(integer) 3
127.0.0.1:6379> lrange students 0 2
-
“wangwu”
-
“lisi”
-
“zhangsan”
set
set是无序的、不可重复的集合。
添加数据
sadd students zhangsan
sadd students lisi
sadd students wangwu
读取数据
smembers students



