redis相关知识(慢慢更新)

定义:
redis是一个key-value存储系统。支持string、list、set、zset和hash等数据类型。
作用:
可以减轻数据库的压力,查询内存比查询数据库效率高。

命令:
redis -cil 连接本地的redis服务。
在远程上执行命令:
redis -cli -h host -p port -a password 

存储列表和集合。
TYPE key ——用来获取key的类型
KEYS pattern ——匹配所有符合模式的key
RANDOMKEY ——随机返回一个key
RENAME oldkey newkey ——重命名


列表操作:
RPUSH key string ——将某个值加入一个key列表的末尾
LPUSH key string ——将某个值加入一个key列表的头部
LLEN key ——获取列表的长度
LRANGE key start end ——返回列表中某个范围的值
LTRIM key start end ——保留列表中某个范围的值
LINDEX key index ——获取列表中特定索引号的值
LSET key index value ——设置列表中某个位置的值
LPOP key/RPOP key ——取头取尾指令,可用于消息队列

集合操作:
SADD key member ——增加元素
SREM key member ——删除元素
SCARD key ——返回集合大小
SISMEMBER key member ——判断某个值是否在集合中
SINTER key1 key2...keyN ——获取多个集合的交集元素
SMEMBERS key -列出集合中的所有元素

set key value:设定key的value值,如果已存在,则覆盖,返回ok。
get key:获取key的value。如果value不是String类型,将返回错误信息,get只能
         获取String类型的value。如果key不存在,则返回null。
getset key value:先获取key的值,然后设置key的值。
append key value:如果key存在,则在原有的value后追加该值,否则就重新创建一个key/value。


存储list类型。
(1)lpush key value1 value2...:在key所关联的list的头部插入所有的values,如果key不存在,
                                                 则新建一个key关联的list,并在链表头部插入数据。插入成功,返回元素个数。
(2)rpush key value2 value2...:在该list尾部插入数据。
(3)lrange key start end:获取链表中从start到end的数据,start和end可以为负数,如果值为-1,就表示链表的
                                    尾部元素,-2表示倒数第二个元素。
(4)lpushx key value:当key存在时,在链表头部插入value的值。
(5)rpushx key value:在该list的尾部添加元素。
(6)lpop key:返回链表的头部元素。
(7)rpop key:返回链表的尾部元素。
(8)llen key:返回链表中元素的数量。
(9)lset key index value:设置链表中index下标的元素值,0代表链表的头元素,-1代表链表的尾元素。

存储Set类型
(1)sadd key values [value1、value2...]:添加数据,重复数据不添加。
(2)srem key members[member1、member2...]:删除指定元素
(3)smembers key:获取set中的所有成员。
(4)sismember key member:判断member是否在set中。1表示存在,0表示不存在。
(5)sdiff key1 key2:返回2个set的差集。
(6)sinter key1 key2 key3...:返回交集
(7)sunion key1 key2 key4...:返回并集


redis各类数据类型的使用场景。
(1)String:复杂计数功能的缓存
(2)hash:value存放结构化的对象,比较方便操作某个字段。做单点登陆时,可以用这种数据结构存储用户信息。
           以cookieId作为iekey。
(3)list:消息队列功能,基于redis的分页功能
(4)set:全局去重功能
(5)sorted set:排行榜应用,取TOPN操作。


redis命令:
将秘密设置为pass:CONFIG SET requirepass quants
输入密码:AUTH password
不要在生产环境下使用KEYS,需要查找key,可以使用SCAN或者sets命令。
返回当前数据库中的key的数量:DBSIZE。
显示配置:INFO
是否存在:EXISTS 值


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章