Redis入门

Redis简介

Redis是一个内存数据库(非关系型数据库),性能比较强

Redis不使用表,不会要求用户对Redis存储的不同数据进行关联

Redis既可以作为主数据库也可以作为其他存储系统的辅助数据库使用


一些数据库和缓存服务器的特性与功能:

名称类型数据存储选项查询类型附加功能
Redis

使用内存存储

的非关系数据库

字符串、列表、集合、

散列表、有序集合

每种数据类型都有自

己的专属命令,

 另外还有批量操作和

不完全的事务支持

发布与订阅, 主从复制, 

持久化, 脚本

Memcached

使用内存存储

的键值缓存

键值之间的映射

创建命令、读取命令、

更新命令、删除命令以

及其他几个命令

为提升性能而设

的多线程服务器

MySQL关系数据库

每个数据库可以包含多个表, 

每个表可以包含多个行;

 可以处理多个表的视图(view);

 支持空间(spatial)和第三方扩展

SELECT 、 INSERT 、

 UPDATE 、 DELETE 、

函数、存储过程

支持ACID性质

(需要使用InnoDB), 

主从复制和主主复制 

PostgreSQL关系数据库

每个数据库可以包含多个表, 

每个表可以包含多个行; 

可以处理多个表的视图; 

支持空间和第三方扩展;

支持可定制类型

SELECT 、 INSERT 、

 UPDATE 、 DELETE 、

内置函数、自定义的存储过程

支持ACID性质,主从复制,

 由第三方支持的多主复制 

MongoDB

使用硬盘存储

的非关系文档存储

每个数据库可以包含多个表,

 每个表可以包含多个无schema 

的BSON文档

创建命令、读取命令、

更新命令、删除命令、

条件查询命令,等等

支持map-reduce操作,

主从复制,分片, 空间索引

Redis提供的5种结构

结构类型结构存储的值结构的读写能力
STRING可以是字符串,整数或者浮点数

对整个字符串或者字符串的其中一部分执行操作;

 对整数和浮点数执行自增或者自减操作

LIST一个链表,链表的每个节点都包含了一个字符串

从链表的两端推入或者弹出元素

;根据偏移量对链表进行修剪(trim); 

读取单个或者多个元素;

根据值查找或者移除元素

SET包含字符串的无序收集器,并且被包含的而每个字符串都

添加、获取、移除单个元素;

检查一个元素是否存在于集合中;

 计算交集、并集、差集;

从集合里面随机获取元素

HASH包含键值对的无序散列表

添加、获取、移除单个键值对;

获取所有键值对

ZSEF(有序集合)

字符串成员(member)与浮点数分值(score)之间的有序映射

,元素的排列顺序由分值的大小决定

添加、获取、删除单个元素;

根据分值范围或者成员来获取元素

运行Redis

打开Redis的安装目录,找到Redis的客户端,点击运行


Redis的字符串(string)



Redis字符串实例:

#密码:auth "你的密码"
auth "123456"
#设置值(k:hello,v:world)
set hello world
#获取值(k:hello)
get hello
#删除值(k:hello)
del hello
#获取值(k:hello)
get hello


Redis列表(list)



Redis列表实例:

#RPUSH(将元素推入列表的右端)
rpush list-key item
#LPUSH(将元素推入列表的左端)
lpush list-key item4
rpush list-key item1
rpush list-key item2
rpush list-key item3
#lrange获取列表在给定范围上的所有值
lrange list-key 0 -1
#取出列表上面的单个元素
lindex list-key 1
#lpop从列表左端弹出1个元素
lpop list-key
#rpop从列表右端弹出1个元素
rpop list-key

Redis集合(set)



Redis集合实例:

#添加元素到集合
sadd set-key item
sadd set-ket item1
sadd set-key item2
sadd set-key item3
sadd set-key item4
sadd set-key item5
#返回集合所有元素
smembers set-ket
#检查某个元素是否都在集合中
sismember set-key item6
sismember set-key item5
#如果指定的元素在集合中则移除
srem set-key item5

Redis散列(hash)



Redis散列实例:

#在散列里面关联给定的键值对
hset hash-key sub-key value1
hset hash-key sub-key2 value2
hset hash-key sub-key3 value3
#获取指定的散列键的值
hgetall hash-key
#获取散列中所有的键值对
hget hash-key sub-key1
#如果指定的键存在于散列里面,那么移除这个键
hdel hash-key sub-key2

Redis有序集合(sorted set)



Redis有序集合:

#讲一个带有定分值的成员添加到有序集合里面
zadd zset-key 728 member1
zadd zset-key 982 member0
zadd zset-key 982 member0
#根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
zrange zset-key 0 -1 withscores
#获取有序集合在给定分值内的所有元素
zrangebyscore zset-key 0 800 withscores
#移除有序集合中指定的成员
zrem zset-key member1

发布了40 篇原创文章 · 获赞 27 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章