码迷,mamicode.com
首页 > Web开发 > 详细

夺命雷公狗---PHP开发Redis---2-Redis数据结构

时间:2015-11-11 22:02:51      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

1string(字符串)

还种类型和memcache是一样的。

2hash(哈希)

哈希类型,可以直接存储关系型数据库里面的一行数据。

技术分享

 

 

3list(链表)

链表就可以模拟队列和栈

队列:先进先出

栈:  先进后出

模拟队列:

技术分享

 

技术分享

 

4set(集合)

集合特点:唯一的,无序性

集合之间的换算:交集,并集,差集

 

技术分享

 

5zset(有序集合)

技术分享

 

 

redis的数据类型讲解相关命令

1string类型

String是最简单的类型,一个 key对应一个Value,String类型是二进制安全的。Redis的 string可以包含任何数据,比如jpg图片或者序列化的对象。 

1set

设置键,值 

语法:set  键名称  值 

例如:我们添加一个name=“hanguo”的键值对。 

添加设置

set name lisi

这样即可,如果想覆盖,那就更简单了

set name zhangfei

这样即可完成覆盖了

 

 

2get

获取key对应的string值,如果key不存在返回 nil,

语法:get 键名称

 

get name

 

这样即可获取到刚才所设置的数据了

 

3Setnx 

设置键时,先判断一下该键是否存在,如果key已经存在,返回0,nx是not exist的意思。 

若键已经存在,则设置不成功,返回0 

技术分享

 

4setex 

设置key对应的值为string类型的value,并指定此键值对应的有效期。 

语法:setex 名称 有效期   值 

例如:我们添加一个color = red的键值对,并指定有效期为10秒。

技术分享

10秒钟过后在查下,他将会变成null,如下图所示

技术分享

 

 

替换字符串中某些字符 

语法:setrange    键名称    开始替换的序号   替换为的内容 

例如:我们希望将leigood的qq邮箱替换为aliyun.com邮箱 

技术分享

 

 

6mset 

一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。 

语法: 

mset 名称1   值1   名称2    值2     

技术分享

 

7msetnx 

一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key。

技术分享

 

8getset 

设置key的值,并返回key的旧值。(设置新值,获取旧值。)

技术分享

 

 

9getrange 

获取key的value值的范围内的子字符串 

getrange name 0 5

 

技术分享

 

10mget 

一次获取多个key的值,如果对应key不存在则对应返回nil。 

技术分享

 

11incr 

对key的值做加加操作,并返回新的值。 

incrby 

同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0。

技术分享

 

12decr 

对key的值做减减操作。 

decrby 

同decr类似,减指定值

技术分享

 

13append

给指定key的字符串追加value,返回新字符串值的长度。 

技术分享

 

14strlen 

取指定key的value值的长度。

技术分享

 

 

2hashes类型

Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。 

1hset 

设置hash field为指定值,如果 key不存在,则先创建。 

语法: 

hset  哈希名称  字段名称   值

技术分享

 

构造键:

技术分享

 

技术分享

 

如果想获取里面的值那就使用hget或则查看全部的hgetall即可

2hget(单个查看)hgetall(查看全部的)

取出hash field的值。语法:hget 哈希名称  字段名称

技术分享

 

3hsetnx 

设置hash field为指定值,如果key不存在,则先创建,如果存在则返回0

技术分享

 

4hmset 

同时设置hash的多个field

语法:hmset 哈希名称  field1  value1 field2 value2

技术分享

 

5hmget 

获取全部指定的hash field。 

语法:hmget 哈希名称 field1 field2

技术分享

 

6hincrby 

指定的 hash  field加上给定的值。

技术分享

 

7hexists 

测试指定的 field是否存在。

存在的返回1,不存在的返回0

技术分享

 

 

8hlen 

返回指定hash的field数量。

技术分享

 

 

9hdel 

删除指定hash的field

语法:hdel 哈希名 field

技术分享

 

 

10hkeys 

返回hash的所有field

技术分享

 

 

11hvals 

返回hash的所有 value。 

技术分享

 

夺命雷公狗---PHP开发Redis---2-Redis数据结构

标签:

原文地址:http://www.cnblogs.com/leigood/p/4957435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!