redis讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

info
quit select dbno dbsize flushdb flushall
$$2redis数据类型
一、string类型
1、在Redis中字符串类型的Value最多可以容纳的数据长度是512M。
命令
set get append
描述
赋值 获取值 追加字符串
例子
set key value get key append key value
$$2redis数据类型
2、应用: 1)商用户发布商品评论
将评论信息转成json存储到list中。用户在页面查询评论列表,从redis中取出json数据 展示到页面。品的评论
2)队列
$$2redis数据类型
四、set类型
1、set就是集合类型,集合中每个元素都不相同,且没有顺序。
命令 sadd smembers scard srem sismember spop 描述 添加值 遍历集合 获取key的成员数量 删除指定成员 判断成员是否存在 随机弹出一个值(删除) 例子 sadd key member [member2] smembers key scard key srem key member [member2..] sismember key member spop key
$$1redis简介
四、服务器端常用命令
命令 ping echo 描述 检查链接是否存活 在命令行打印内容 例子 ping,返回pong,则存活 echo context
info
quit select dbsize flushdb flushall
获取服务器上的信息和统计
退出客户端 选择数据库 返回当前数据库中key的数目 删除当前数据库中的所有key 删除所有数据库中的所有key
sunion
sunionstore
求集合并集
求集合并集并存到新集合中
suion key [key2..]
suionstore destination key [key2..]
$$2redis数据类型
2、应用: 1)有多少特定用户访问了特定资源
$$2redis数据类型
五、sorted set类型
1、在集合类型的基础上有序集合类型为集合中的每个元素都关联一个分数,这使得 我们不仅可以完成插入、删除和判断元素是否存在在集合中,还能够获得分数最高或最低的 前N个元素、获取指定分数范围内的元素等与分数有关的操作。 2有序集合和list类型二者有着很大区别:
获取key中filed的数量
删除key中的filed字段 获取key中所有的field和value 同时设置多个field和value 同时获取多个field的值
hlen key
hdel key field [field2..] hgetall key hmset key field value [field2 value2..] hmget key field [field2..]
$$2redis数据类型
命令
setnx strlen setrange
描述
key不存在就赋值,否则不做操作 返回key的值的长度 字符串替换(包含start)
例子
setnx key value strlen key setrange key start value
getrange
mset mget msetnx
zadd
zcard zcount zincrby zrange zrangebyscore zrank zrem zrevrange
添加成员
获取成员数量 获取指定分数之间的成员数量 给成员增加指定分数 遍历指定下标之间的成员[及分数](分 数从小到大排列) 遍历指定分数之间的成员(及分数)
zadd key score member [score member..]
zremrangebyscore key min max
$$2redis数据类型
3、应用: 1)积分排行榜 2)销售排行榜
$$2redis数据类型
六、key命令
命令 keys del exists move rename renamenx persist 描述 获取所有的key 删除指定key 判断key是否存在 移动一个key到另一个库中 给key重新命名 例子 keys pattern del key [key2..] exists key move key db rename key newkey
zrevrangebyscore zremrangebyrank
zremrangebyscore
获取在指定分数之间的成员[及分 zrevrangebyscore key max min [withscores] 数](分Baidu Nhomakorabea从高到低) 删除下标之间的成员
删除指定分数之间的成员
zremrangebyrank key start end
例子
llen key lrem key count value lset key index value lindex key index ltrim key start end linsert key before|after pivot value lpushx key value rpushx key value
setbit
getbit
设置二进制的值
获取二进制的值
setbit key offset value
getbit key offset
$$2redis数据类型
2.应用: 1)缓存 2)生成全局主键 3)计数器
$$2redis数据类型
二、hash类型
1、hash叫散列类型,它提供了字段和字段值的映射。字段值只能是字符串类型,不 支持散列类型、集合类型等其它类型。如下:
获取指定位置字符串
同时设置多个key value 同时获取多个key的值 key不存在同时设置多个key value,否 则不设置
getrange key start end
mset key value [key2 value2...] mget key [key2...] msetnx key value [key2 value2]
$$2redis数据类型
命令 hset hget hexists 描述 给key中的filed字段赋值 获取可以中filed字段的值 判断key中是否存在filed 例子 hset key field value hget key field hexists key field
hlen
hdel hgetall hmset hmget
给key重新命名,当newkey存在是不操作 renamenx key newkey 将key持久化 persist key
$$2redis数据类型
命令 expire expireat ttl pttl randomkey type select 描述 设置key的存活时间 例子 expire key sexonds
incr
decr incrby decrby getset setex
自增(+1)
自减(-1) 自增,增加指定步长 自减,减少指定步长 先获取元素再赋值 赋值并指定key的存活时间
incr key
decr key incrby key increment decrby key decrement getset key value setex key second value
lrange
lpop rpop rpoplpush
获取指定位置的数据
从头部弹出key的值(删除) 从尾部弹出key的值(删除) 从一个list的尾部弹出插入到另一个list的 头部
lrange key start end
lpop key rpop key rpoplpush source destnation
redis讲解
王江财

2
1
redis简介 redis数据类型

4 5 6 7
3
持久化 主从复制
redis集群
jedis及集群应用
发布与订阅功能
$$1redis简介
一、什么是redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。 它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis 支持的键值数据类型如下: 1、字符串类型 2、散列类型 3、列表类型 4、集合类型 5、有序集合类型。
zcard key zcount key min max zincrby key increment member zrange key start end [withscores] zrangebyscore key min max [withscores] zrem key member [member2..]
2、应用: 1)商品信息
$$2redis数据类型
三、list类型
1、列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加 元素,或者获得列表的某一个片段。
命令
lpush rpush
描述
在list头部添加值 在list尾部添加值
例子
lpush key value [value2..] rpush key value [value2..]
hsetnx
hincrby hkeys hvals
如果field不存在赋值,否则不操作
给field的值增加指定的步长 获取所有的key 获取所有的value
hsetnx key field value
hincrby key field increment hkeys key hvals key
$$2redis数据类型
$$1redis简介
二、redis应用场景
• 缓存 • 分布式集群架构中的session分离 • 聊天室的在线好友列表 • 任务队列。(秒杀、抢购、12306等等) • 应用排行榜 • 网站访问统计 • 数据过期处理(可以精确到毫秒)
$$1redis简介
三、redis与memcache的优缺点
1 、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的 时候可以再次加载进行使用。 2 、Redis不仅仅支持简单的string类型的数据,同时还提供list,set,hash 等数据结构的存储。 3 、Redis支持数据的备份,即master-slave模式的数据备份。 4、内存超出时redis将不常用缓存swap到 磁盘。 5、redis支持集群,添加节点删除节点不丢数据 6、redis是单线程
返回成员的下标(分数从小到大排列) zrank key member 删除指定成员 遍历指定成员[及分数](分数从大到小 zrevrange key start end [withscores] 排列)
$$2redis数据类型
命令 zrevrank zscore 描述 返回成员下标(分数从大到小) 获取指定成员的分数 例子 zrevrank key member zscore key member
$$2redis数据类型
命令
llen lrem lset lindex ltrim linsert lpushx rpushx
描述
返回key的长度 删除前面几个值为value的元素 按下标赋值 返回下标的值 截取list 指定位置的值 在某个元素的前面或后面插入值 key存在头部添加,否则不做操作 key存在在尾部添加,否则不做操作
1)列表类型是通过链表实现的,获取靠近两端的数据速度极快,而当元素增多后, 访问中间数据的速度会变慢。
2)有序集合类型使用散列表实现,所有即使读取位于中间部分的数据也很快。 3)列表中不能简单的调整某个元素的位置,但是有序集合可以
4)有序集合要比列表类型更耗内存。
$$2redis数据类型
命令 描述 例子
$$2redis数据类型
命令 srandmember smove sdiff sdiffstore sinter sinterstore 描述 随机弹出一个成员(不删除) 移动一个集合的成员到另一个集合 求集合的差集 求集合的差集并存到新集合中 求集合交集 求集合交集并存到新集合中 例子 srandmember key smove source destination member sdiff key [key2..] sdiffstore destination key [key2..] sinter key [key2..] sinterstore destination key [key2..]
相关文档
最新文档