Redis存储的 key-value 结构的数据,其中 key为字符串类型,value有五种常用的数据类型:
(key : String类型 ,value:五种类型可选)value有五种常用的数据类型:
1. 字符串 String2. 哈希 hash ( value这一部分是一个哈希表)
3. 列表 list
4. 集合 set
5. 有序集合 sorted set / zset
- 字符串 String :
普通字符串,Redis中最简单的类型。也是比较常用的数据类型。
哈希 hash :
也叫散列,类似于Java中的HashMap结构。hash (哈希)本身分为两部分:field 和 value。
(value这一部分是一个哈希表)每一个field对应一个value,一个哈希类型中可以有多个field和 value。
如: file1: name , value1 : 张三
file2: age, value2 : 18
… (以此类推) (哈希 (hash)类型适合存储对象。)
列表 list :
列表类似于一个队列。列表按照插入顺序排列, 可以有重复元素,类似于java中的LinkedList。操作列表时即可从左侧插入元素,也可以从右侧插入元素。
列表比较适合存储与 顺序有关系的数据。
如:朋友圈的点赞都是有顺序。
- 集合 set :
无序集合,没有重复元素,类似于Java Hashset。- 例子如:
你和你的朋友有各自的朋友圈,你们之间有共同的朋友。每一个朋友圈就是一个set集合。算共同的朋友的话,可以求这两个集合的交集。通过集合可以进行运算。
- 有序集合 sorted set / zset :
集合中每个元素关联一个分数 (score) ,根据分数升序排序,一样是没有重复元素的。- 例子如:
各种排行榜, 如热点排行榜、视频排行榜等,因为其是有顺序的,因而可以用有序集合存储这些有顺序的数据。
通过Redis命令可以来操作Redis数据。
Redis中操作数据和Mysql中操作数据是完全不同的。
Mysql是通过sql语句来操作,sql语句的操作与数据类型无关。但 Redis中不同的数据类型有不同的操作命令。不同的数据类型有不同的操作命令。
Redis中常用命令:
1. 字符串操作命令
2. 哈希操作命令
3. 列表操作命令
4. 集合操作命令
5. 有序集合操作命令
6. 通用操作命令
字符串操作命令 :
哈希操作命令 :
列表操作命令 :(列表的下标从0开始)
例子如1:(lPUSH命令 例子)
例子如2:(RPUSH命令 例子)
例子如3:
0 到 -1 : 获取列表中的所有数据。 (列表下标从0开始)
在Redis的 lrange命令 中,0 和 -1是用来指定列表的起始索引和结束索引的。这里的0表示从列表的第一个元素开始,-1 表示到列表的最后一个元素结束。所以,LRANGE mylist 0 -1将会返回列表mylist中的所有元素。
集合操作命令 :(插入顺序 和 输出顺序不一致)
有序集合操作命令 :
通用操作命令 :