您的位置:首页 > 数据库 > Redis

redis 使用

2016-05-01 22:59 495 查看
一、redis的数据类型

1、String  (二进制安全存储)

 set name cong

 get name

 setnx 设置key对应的值string的value ,如果key已经存在返回0,nx的意思是 not exist

setex 指定键的有效期

setrange name 6 gemail.com  把key 为name的value 值从第六个字符起替换

mset 设置多个

getset 设置一个值,返回key的旧的值

getrange name 0 4 获取key为name的value 值从第一个字符截取到第5个

mget 获取多个

incr name 对name 的值递增加一 ,并返回新的值

incrby  name  5 每次递增5个,就是加5

decr 递减

decrby 递减 可以指定要减多少

append 给指定的key 追加value

strlen 获取value的函数

del 删除

type user:001  判断key为那个类型的

2、hash 数据类型

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

hset 设置hash field 为指定值,如果key不存在,则先创建。hset user:001 name lijie  user:001 理解为hash表名

hget user:001 name 返回 lijie

hsetnx user:001 name 003  如果name已经存在就不覆盖

hmset 批量 hmset user:001 name1 xiaocng name2 xiaocongcong

hmget user:001 name age set 批量返回

hincrby user:003 age 5 自增5

exists user:001 name 判断hash表里面是否存在该值

hlen 指定hash表的个数、

hdel user:001 name 删除user:001 中的name

hkeys 返回hash表里面所有的字段

hvals 返回hash表里面所有的value

hgetall 同时返回所有key 和所有values

3、sets 类型

set是集合,它是string 类型的无序集合,set是通过hash table 实现的,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐喝blog的tag功能

sadd 向名称为key 的set中添加元素

smembers 返回集合中的元素

srem 删除

spop 随机弹出元素

sdiff 返回所有给定key与第一个key的差集  sdiff myset myset2 

sdiffstore myset myset2 myset3 把myset2与myset3的差集存储在myset 中

sinter 取交集

sinterstore 取交集并保存

sunion 取并集

sunionstore 返回并集并且存储

smove myset myset2 three 把three 移动到myset2中

scard 查看set里面的元素个数

sismember myset one 判断one是否是myset的元素

srandmember 随机返回一个元素

4、sorted sets 类型

sorted set 是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一个属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql的表,一列存value 一列存order操作中的key理解为zset的名称

zadd 增加一个元素

zrange myset 0 -1 取出所有的值

zrange myset 0 -1  withscores 并且显示顺序号

zrem myset two 删除

zincrby 对顺序号进行增加

zrank 返回索引值

5、list类型

list是一个链表结构,主要功能是push pop,是一个双向链表

lpush 从头部压入一个元素

rpush 从尾部压入一个元素

linsert linsert list1 before one three 在one元素前压入一个three 元素

lset mylist 0 hello 给mylist 的第0个元素赋值为hello
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: