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
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
相关文章推荐
- redis的主从复制
- CentOS.56安装Redis监控工具RedisLive
- Redis+Keepalived主从热备秒级切换
- spring与redis集成之aop整合方案
- Redis的安装---linux
- Redis主从复制
- (38)Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot】
- 纯手工整理Redis详细教程
- CentOS6.5安装Redis数据库
- redis的rdb快照持久化
- BitMap算法应用:Redis队列滤重优化
- redis在windows下安装和PHP中使用
- redis安装
- redis持久化RDB和AOF
- Redis "MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk"问题的解决
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
- Redis几个认识误区
- 利用redis做频率限制第一篇
- Tomcat集群+Nginx+Redis服务搭建
- Redis源码解析:17Resis主从复制之主节点的部分重同步流程及其他