redis基础学习(一)之数据类型及其常用命令

最近因为一些原因用到Redis不得不学一点,就想着记录一下学习的印记。若有不对的地方还望指出为谢。

Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)的非关系数据库,可以将存储在内存的键值对持久化到硬盘,可使用复制特性来扩展读性能。

Redis提供了五种不同数据结构类型与键(key)的映射,分别是Strng(字符串)、hash(散列)、list(列表)、set(集合)、zset(有序集合)。如下:

相应的命令:

Key的基本操作:

删除指定key   del key

获取key是否存在  exists key

获取key的类型    type key

改名rename key newkey  renamenx key newkey

查询key   keys pattern     pattern匹配规则:*匹配任意数量的任意符号 ?配合一个任意符号[] 匹配一个指定符号


String类型存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型,一般做一些复杂的计数功能的缓存。

添加/修改数据  set key value        添加/修改多个数据  mset key1 value1 key2 value2 …

获取数据   get key                  获取多个数据 mget key1 key2 …

删除数据  del key

判定性添加数据  setnx key value

获取数据字符个数(字符串长度) strlen key

表示运行结果(integer) 0 → false 失败、(integer) 1 → true 成功如下图判断性加入name zhangsan 时因为前面有了故返回(integer) 0 表示已经存在


hash类型:底层使用哈希表结构实现数据存储

如field数量较少,存储结构为类数组结构否则存储结构使用HashMap结构

添加/修改数据hset key field value (hmset key field1 value1 field2 value2 …  多个时)

获取数据hget key field  hgetall key(hmget key field1 field2 …)

删除数据hdel key field1 [field2]

获取哈希表中字段的数量hlen key

获取哈希表中是否存在指定的字段hexists key field

list类型:保存多个数据,底层使用双向链表存储结构实现,允许用户从左右(left right)两端推入或弹出数据

rpush key value [value...] 将一个或者多个值推入列表的右端

lpush key value [value...] 将一个或者多个值推入列表的左端

Rpop key 移除并返回列表最右端的元素

Lpop key 移除并返回列表最左端的元素

Lrange  key  start end 返回指定范围内的所以元素

Lindex key offset 返回偏移量为offset的元素


set类型:以无序的的方式来存储多个各不相同的元素,与hash存储结构完全相同,但是无法启用hash中存储值的空间。

Sadd  key  item  [item.....]    将元素加入到集合中并返回被添加元素当中原本并不存在于集合里面的元素数量

Smembers  key 返回集合中所以的元素

Srem  key  item  [item.....]  移除元素返回移除数量

Sismember  key item  判断集合是否包含item数据

Scard  key  获取集合数据总量

Srandmember key  [count]   随机获取集合中指定数量的数据

Spop  key  [count] 随机移除集合中的一个元素或者指定数量并返回移除的元素

Smove  source-key  dest-key item  若是source-key包含item元素就从中移除item并加入到集合dest-key中,成功返回1否则返回0

求两个集合的交、并、差集

sdiff  key  [key ...]   返回存在于第一个集合但不存在与其他集合中的元素(数学上的差集运算)

Sinter  key   [key ... ]  返回那些同时存在于所有集合中的元素(数学上的交集运算)

Sunion  key  [key...]   返回那些至少存在于一个集合中的元素(数学上的并集计算)

求两个集合的交、并、差集并存储到指定集合中

sdiffstore dest-key  key  [key ...] 

sinterstore dest-key  key  [key ...]

sunionstore dest-key key  [key ...]

有序集合:存储结构和集合一样但是集合是无序的,有序集合存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取或扫描成员和分值的命令。

zadd key  score member [score member ...]  将带有给定分值的成员添加到有序集合里面

zrem key member [member ...]   从有序集合里面移除给定的成员,并返回被移除成员的数量

zcard key   获取集合数据总量

zrange key start stop   返回有序集合中排名介于start和stop之间的成员

希望路过的大佬不要嫌弃,若有不对之处还希望指正为谢!@~@

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容