Redis

1.什么是Redis

Redis是Remote Dictionary Server(远程数据服务)的缩写,由意大利人 antirez(Salvatore Sanfilippo) 开发的一款 内存高速缓存数据库。该软件使用C语言编写,它的数据模型为 key-value,它支持丰富的数据结构,比如 String list hash set sorted set。
可持久化,保证了数据安全。

缓存
有两种类型 :数据缓存、页面缓存(smarty)
使用缓存可以减轻数据库的负载。
在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度/降低网站的负载,就把这些数据放到一个读取速度更快的介质上,该行为就称作对该数据的缓存动作。
该介质可以是文件数据库内存,内存经常用于数据缓存。

页面缓存经常用在CMS内存管理系统里边
数据缓存经常会用在页面的具体数据里边

2. redis和memcache比较

Redis不仅仅支持简单的k/v类型的数据,同时还提供list(列表)set(集合)Sortedset(有序集合)hash(哈希表)等数据结构的存储。
Redis支持master-slave(主—从)模式应用。
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Redis单个value的最大限制是1GB, memcached单个value只能保存1MB的数据。

3.redis操作

redis命令手册
redis命令参考
redis命令速查

3.1 redis操作之key(键)
3.2 redis操作之string(字符串)
3.3 redis操作之hash(哈希)
3.4 redis操作之list(列表)
3.5 redis操作之set(集合)
3.2 string类型操作

string是redis最基本的类型
redis的string可以包含任何数据。包括jpg图片或者序列化的对象。
单个value值最大上限是1G字节。
如果只用string类型,redis就可以被看作加上持久化特性的memcache。

SET key value             设置key对用的值为string类型的value
MSET key1 key2 ... keyN   一次设置多个key值
MGET key1 key2 ... keyN   一次获取多个key值
INCR key                  对key值做加加操作,并返回新的值
DECR key                  对key值做减减操作,并返回新的值
INCRBY key integer        对key值做加(指定值)操作,并返回新的值
DECRBY key  integer       对key值做减(指定值)操作,并返回新的值
APPEND key calue          给指定key的字符串值追加value
SUBSTR key start end      返回接去过的key的字符串值

incr(increament)对陌生或已有key(key的值必须为整型)进行累加1操作
实现网站计数器功能。
操作陌生变量:生成该key变量并取值为1,
操作已有的key变量:要求key的值必须为整型的

3.3 List类型操作

List类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。
这使得list既可以用作栈,也可以用作队列。

LPOP key               移除并返回列表key的头元素。
RPOP key               从list尾部删除元素,并返回删除的元素
LPUSH key string       在key对应list的头部添加字符串元素
RPUSH key string       在key对应list的尾部添加字符串元素
LLEN key               返回key对应list的长度,若key不存在则返回0,若key对应类型不是list返回错误
LRANGE key start end   返会指定区间内的元素,下标从0开始
LTRIM  key start end   截取list,保留指定区间内元素
LSET key index value   设置list中指定下标的元素值
LREM key count value   从key对应list中删除count个和value相同的元素。count为0时删除全部 

BLPOP key [key ...] timeout
BLPOP 是列表的阻塞式(blocking)弹出原语。

                   它是 LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,
                   连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
                   当给定多个key参数时,按参数key的先后顺序依次检查各个列表,                 
                   弹出第一个非空列表的头元素。

BRPOP key [key ...] timeout
BRPOP 是列表的阻塞式(blocking)弹出原语。
它是 RPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,
连接将被 BRPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
当给定多个key参数时,按参数key的先后顺序依次检查各个列表,
弹出第一个非空列表的尾部元素。
BRPOP 除了弹出元素的位置和 BLPOP 不同之外,其他表现一致。

LINSERT key BEFORE|AFTER pivot value
将值value插入到列表key当中,位于值pivot之前或之后。
当pivot不存在于列表key时,不执行任何操作。
当key不存在时,key被视为空列表,不执行任何操作。
返回值:
如果key不是列表类型,返回一个错误。
如果命令执行成功,返回插入操作完成之后,列表的长度。
如果没有找到pivot,返回-1。
如果key不存在或为空列表,返回0。

LINDEX key index
返回列表key中,下标为index的元素。
如果index参数的值不在列表的区间范围内(out of range),返回nil。

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

推荐阅读更多精彩内容