Redis 是一个开源的使用 C 语言编写的高性能键值(key-value)对数据库,整体的使用比较像JAVA里面的Map,因为它的读取速度较之传统的数据库要快,所以,我们经常用他来解决缓存的问题,因此,它也叫缓存/内存数据库。 Redis是一种非关系型数据库,没有表、字段和记录这些概念。 Redis支持五种键值对类型:1.字符串类型 2.哈希类型 3.列表类型 4.集合类型 5.有序集合类型 默认端口:6379 Redis的使用: 1. 字符串类型:set/get 通过set设置值,通过get去取值,这种感觉就像是直接存值到一个Map里面,具体使用:设置一个键为key值为value的字符串类型 删除制定的键,del key(键名) 2.哈希类型:(单个)通过hset去存值,通过hget去取值,这个感觉就像是定义了一个Map,然后往里面定义多个键值对,每一个Map都有一个对应的名字(键),然后每一个Map里面又包含多个键值对(值),具体使用:设置一个Map(键)名字为map,它里面的键为name,值为Mylo Hset map name Mylo Hget map name |
一次性存多个键值对:hmset同时设置多个键值对,hmget同时获取多个键值对 hmset map age 25 gender man Hmget map name age gender |
获取所有的字段 : hgetall 键 删除制定的字段 :del 键 字段 3. 存储list类型:在 Redis 中,list 类型是按照插入顺序排序的字符串链表。我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该 key 不存在,Redis 将为该 key 创建一个新的链表。与此相反,如果链表中的所有元素都被删除了,那么该 key 也将会被从数据库中 lpush key value value value : 在指定的 key 对应的 list 的头部插入所有的 value rpush key value value value : 在指定的 key 对应的 list 的尾部插入所有的 value, 查看:lrange key start end : 获取链表中从 start 到 end 的元素的值,start 和 end 从 0 开 始计数,如果为负数,-1 表示倒数第一个元素,-2 表示倒数第二个元素,以此类推。 lpop key : 返回并弹出指定的 key 对应链表中头部(left)第一个元素,如果 该 key 不存在,返回 nil。 rpop key : 返回并弹出指定的 key 对应链表中尾部(right)第一个元素,如果 该 key 不存在,返回 nil。 4. 存取set类型:Redis 中,我们可以将 set 类型看作是没有排序的字符集合 添加元素:sadd key value value value : 向 set 中添加元素,如果该 key 的值已存在,则不会添加 sadd set a b c a smembers set |
删除制定的值 sismember key member : 判断 key 中指定的元素是否在该 set 中存在,1 表示存在,0 表示不存在 5. 存储sortedest类型:sortedset 和 set 类型极为类似,它们都是字符串的集合,都不允许重复的元素出现在一个 set 中。 zadd key score value score value score value : 将所有元素以及对应的分数 zrange key start end : 获取集合中下标为 start 到 end 的元素,不带分数 zrange key start end withscores : 获取集合中下标为 start 到 end 的元素,带分数 删除制定的字段 zrem 键 字段
|