Redis-简介
Redis
1.非关系型数据库 NoSQL
1 | NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,指的是非关系型的数据库。 |
Nosql特点
1 | 它们可以处理超大量的数据。 |
NoSQL适用场景
1 | 1. 对数据高并发读写 |
2.Redis
1 | Redis is an open source, advanced key-value store. |
Redis 简介
1 | Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 |
Redis 优势
1 | 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 |
Redis与其他key-value存储有什么不同?
1 | Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。 |
Redis 安装
Window 下安装
1 | 下载地址:https://github.com/MSOpenTech/redis/releases。 |
Linux 下安装
下载地址:http://redis.io/download,下载最新文档版本。
本教程使用的最新文档版本为 3.0.0,下载并安装:
1 | $ wget http://download.redis.io/releases/redis-3.0.0.tar.gz -O redis-3.0.0.tar.gz |
如果失败可能为gcc没有安装。make完后目录下会出现编译后的redis服务程序redis-server。
注意:这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。
配置redis使用环境:
1 | 新建目录 /usr/local/redis/etc , |
Redis 数据类型
Redis常用的五种数据类型:
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set 有序集合)。
详细格式看手册
String(字符串)
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
- set
- get
- setnx
- setex
- setrange
- getrange
- mset
- mget
- msetnx
- getset
- incr
- incrby
- decr
- decrby
- append
- strlen
Hash(哈希)
Redis hash 是一个键值对集合,一个string类型的field和value的映射表,hash特别适合用于存储对象。
- hset
- hget
- hsetnx
- hmset
- hmget
- hgetall
- hexists
- hlen
- hkeys
- hvals
- hincrby
- hdel
List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
- lpush
- lrange
- rpush
- linsert
- lset
- lrem
- ltrim
- lpop
- rpop
- rpoplpush
- lindex
- llen
Set(无序集合)
Set是string类型的无序集合,通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
- sadd
- smembers
- srem
- spop
- srandmember
- scard
- sismember
- sdiff
- sdiffstore
- sinter
- sinterstore
- sunion
- sunionstore
- smove
zset(sorted set:有序集合)
zset 和 set 一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
- zadd
- zrange
- zrevrange
- zrangebyscore
- zrevrangebyscore
- zrem
- zcard
- zcount
- zincrby
- zrank
- zrevrank
- zremrangebyrank
- zremrangebyscore
- zinterstore
- zunionstore
- zscore
Others
- keys
- exists
- del
- expire
- persist
- ttl
- select
- move
- randomkey
- rename
- type
- ping
- echo
- quit
- save
- bgsave
- dbsize
- config get
- info
- flushdb
- flushall