[关闭]
@yudesong 2018-02-12T03:16:18.000000Z 字数 4065 阅读 649

Redis 数据库

Redis


Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

Redis 安装

  1. $sudo apt-get update
  2. $sudo apt-get install redis-server

Redis 启动

  1. redis-server /etc/redis/redis.conf

Redis 连接

  1. $redis-cli
  2. redis 127.0.0.1:6379> ping

Redis 数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

String(字符串)是redis最基本的类型,string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。

  1. redis 127.0.0.1:6379> SET name "runoob"
  2. OK
  3. redis 127.0.0.1:6379> GET name
  4. "runoob"

Hash(哈希)是一个键值对集合。Hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

  1. 127.0.0.1:6379> HMSET user:1 username runoob password runoob points 200
  2. OK
  3. 127.0.0.1:6379> HGETALL user:1
  4. 1) "username"
  5. 2) "runoob"
  6. 3) "password"
  7. 4) "runoob"
  8. 5) "points"
  9. 6) "200"

List(列表)是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

  1. redis 127.0.0.1:6379> lpush runoob redis
  2. (integer) 1
  3. redis 127.0.0.1:6379> lpush runoob mongodb
  4. (integer) 2
  5. redis 127.0.0.1:6379> lpush runoob rabitmq
  6. (integer) 3
  7. redis 127.0.0.1:6379> lrange runoob 0 10
  8. 1) "rabitmq"
  9. 2) "mongodb"
  10. 3) "redis"
  11. redis 127.0.0.1:6379>

Set(集合)是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

  1. redis 127.0.0.1:6379> sadd runoob redis
  2. (integer) 1
  3. redis 127.0.0.1:6379> sadd runoob mongodb
  4. (integer) 1
  5. redis 127.0.0.1:6379> sadd runoob rabitmq
  6. (integer) 1
  7. redis 127.0.0.1:6379> sadd runoob rabitmq
  8. (integer) 0
  9. redis 127.0.0.1:6379> smembers runoob
  10. 1) "rabitmq"
  11. 2) "mongodb"
  12. 3) "redis"

zset(sorted set:有序集合)也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

  1. redis 127.0.0.1:6379> zadd runoob 0 redis
  2. (integer) 1
  3. redis 127.0.0.1:6379> zadd runoob 0 mongodb
  4. (integer) 1
  5. redis 127.0.0.1:6379> zadd runoob 0 rabitmq
  6. (integer) 1
  7. redis 127.0.0.1:6379> zadd runoob 0 rabitmq
  8. (integer) 0
  9. redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000
  10. 1) "redis"
  11. 2) "mongodb"
  12. 3) "rabitmq"

Redis Key命令

Redis 字符串(String)

Redis hash 命令

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注