博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis 简介一
阅读量:4296 次
发布时间:2019-05-27

本文共 4204 字,大约阅读时间需要 14 分钟。

Redis 简介

Redis 是一个开源的高性能键值对内存数据库。其所有的数据都保存在内存中,所以相比于其他基于硬盘存储的数据库有着非常快的读写速度,而其对持久化的支持,也减小了数据丢失的风险。

随着 Redis 功能的不断丰富,其也不在局限于数据库系统,如为每个键设置生存时间(Time to Live,TTL),则可以将其作为缓存系统来使用。

一个 Redis 实例中的所有键值对并不是一个整体,其默认分为 16 个“区”,以 0 到 15 的数字命名,使用 select <index> 命令,可以选择使用指定的区保存键值对。

Remote Dictionary Server,远程字典服务器,存储键值对,键名是字符串类型,而键值可以是字符串、散列表、列表、有序或无序集合。

Redis 中的命令都是原子性的,如 incr 命令,不会因为多个客户端连接执行,而导致自增值异常。

redis 官网地址:

常用命令

命令 说明
keys pattern 列出符合通配规则的键
exists key 判断键是否存在
del key [key1 ···] 删除一个或多个键
type key 获取键值的数据类型
expire key seconds 设置缓存有效秒数

字符串

命令 说明
set key value 设置字符串值
get key 获取字符串值
mset key1 value1 [key2 value2 ···] 设置多个字符串键值
mget key1 [key2 ···] 获取多个字符串值
incr key 递增指定字符串所表示的数值,该字符串必须是整数
incrby key increment 增加字符串数值指定值,原值和待加值都必须是整数
incrbyfloat key increment 增加字符串数值指定的浮点值,
原值和待加值都可以是整数,也可以是浮点数
decr key 递减指定字符串所表示的数值,该字符串必须是整数
decrby key decrement 减少字符串数值指定值,原值和待加值都必须是整数
append key value 追加字符串
strlen key 获取字符串长度
setbit key offset value 设置指定字符串二进制偏移位置的二进制值,
偏移位置超出范围,中间位默认为 0
getbit key offset 获取指定字符串二进制偏移位置的二进制值
bitcount key [start end] 统计字符串中二进制位为 1 的位
的个数,限定的字节范围包含两端
bittop operation destkey key1 [key2 ···] 进行 and、or、xor、not 位运算

散列表

命令 说明
hset key field1 value1 [field2 value2 ···] 设置散列表中指定字段的值
hget key field 获取散列表中指定字段的值
hmset key field1 value1 [field2 value2 ···] 设置哈希表
hmget key field1 [field2 ···] 获取散列表中的多个字段的值
hgetall key 获取散列表所有字段和相应值
hexists key field1 判断散列表中是否存在指定的字段
hsetnx key field value 如果散列表中不存在指定的字段,
则进行设置,否则不执行任何操作
hincrby key field increment 增加散列表中指定字段指定的整数
hdel key field1 [field2 ···] 删除散列表中指定的字段
hkeys key 获取指定散列表中的所有字段
hvals key 获取指定散列表中的所有字段值
hlen key 获取指定散列表中字段的个数

列表

命令 说明
lpush key element1 [element2 ···] 从左侧向列表中添加元素
lpop key 从列表左侧移除一个元素,并返回该值
rpush key element1 [element2 ···] 从右侧向列表中添加元素
rpop key 从列表右侧移除一个元素,并返回该值
lindex key index 获取指定列表指定索引位置的值,
左边索引从 0 开始计数,右边索引从 -1 开始计数
lset key index element 设置列表中指定位置的值,从0开始计算,若超出集合范围,则报错
llen key 返回列表元素个数
lrange key start stop 获取列表中指定范围的值,负数表示从右起第几个值,
start 和 stop 的值可以为正或负,但 start 的索引位置总是应在 stop 的索引位置的左侧,否则返回为空,
如 list 列表有 3 个元素,那么 lrange list 0 -1 和 lrange list -3 2 返回是相同的,
而 lrange list -1 0 则返回空
lrem key count value 删除指定个数个指定的值,如果指定的个数为负,
表示从队列右侧开始删除,如果指定为 0 个,则删除所有指定的值
ltrim key start end 删除指定列表中索引范围外的元素,范围确定方法通 lrange 一样
linsert key before|after pivot element 向指定列表中的指定值之前或之后插入一个值,pivot 的查找从左侧开始
rpoplpush source destination 从 source 列表中右侧的第一个元素弹出,并加入到 destination 列表的左侧,
如果两个列表相同,那么则构成了一个循环队列

集合

命令 说明
sadd key member1 [member2 ···] 向集合中添加元素,元素是无序的
srem key member1 [member2 ···] 移除集合中的元素,返回 1 或 0,表示删除是否成功
spop key [count] 弹出集合中指定个数个元素,返回弹出的元素集合
smembers key 获取集合元素
sismember key member 判断集合中是否存在指定元素,存在返回 1 ,否则返回 0
sdiff key1 [key2 key3 ···] 差集运算
sinter key1 [key2 key3 ···] 交集运算
sunion key1 [key2 key3 ···] 并集运算
sdiffstore destination key1 [key2 key3 ···] 差集运算,并保存结果
sinterstore destination key1 [key2 key3 ···] 交集运算,并保存结果
sunionstore destination key1 [key2 key3 ···] 并集运算,并保存结果
scard key 获取集合数量
srandmember key [count] 获取集合中的随机值,
如果 count 为正值且超出集合元素个数,则返回所有元素。
如果 count 为负值,则返回的随机值可能重复,并且数量为 count 的绝对值

有序集合

命令 说明
zadd key score1 member1 [score2 member2 ···] 向有序集合中添加元素及其相关联的排序分数,
分数值支持整型和浮点型,且 +inf 和 -inf 分别代表正无穷和负无穷
zscore key member 获取有序集合中指定元素的分数
zrange key start stop [withscores] 按升序获取指定排序范围内的集合元素,
指定范围的值为负表示从排序后的尾部开始确定位置
zrevrange key start stop [withscores] 按降序获取指定排序范围内的集合元素,withscores 返回时包含分数
zrangebyscore key min max [withscores] [limit offset count] 通过分数来获取集合元素,按分数升序排列后,返回分数在指定范围内的元素,分数包含两端,limit offset count 对于符合条件的元素,先偏移指定 offset 个元素,再返回指定的 count 个元素
zrevrangebyscore ke max min [withscores] [limit offset count] 通过分数来获取集合元素,同 zrangebyscore 类似,只是排序时按降序排列
zincrby key increment member 为指定集合元素加分
zcard key 获取集合中元素个数
zcount key min max 获取指定分数范围内元素个数,包含分数两端
zrem key member1 [member2 ···] 删除一个或多个集合中的元素
zremrangebyrank key start stop 删除排序后指定范围的元素
zremrangebyscore key min max 删除在指定分数范围中的元素,
默认包含两端,可以添加 ( 括号表示不包含
zrank key member 获取按升序排序的元素的排名,排名从 0 开始计
zrevrank key member 获取按降序排序的元素的排名,排名从 0 开始计
zinterstore destination numkeys key1 [key2 ···] [weights weight1 [weight2 ···]] [aggregate sum|min|max] 交集运算,保存的运算结果的元素的分数的计算方式由 aggregate 决定,并且分数在计数时需要乘以设置的权重 weight
zunionstore destination numkeys key1 [key2 ···] [weights weight1 [weight2 ···]] [aggregate sum|min|max] 并集运算,指令用法同 zinterstore 一样

转载地址:http://dtdws.baihongyu.com/

你可能感兴趣的文章
mmap
查看>>
最简单的win7基础上安装ubuntu方法__EasyBCD硬盘安装(免U盘)
查看>>
getopt
查看>>
C++之tinyXML使用
查看>>
C++ TinyXml操作(含源码下载)
查看>>
Source Insight 使用技巧
查看>>
多线程编程-互斥锁
查看>>
CPU与MPU、MCU、DSP介绍
查看>>
使用register_chrdev注册字符设备
查看>>
VGA、DVI、HDMI三种视频信号接口
查看>>
三星公司uboot模式下更改分区(EMMC)大小fdisk命令
查看>>
fat、ntfs、ext区别
查看>>
传感器原始图像格式:Bayer RGB 和RGB RAW
查看>>
使用SSH时提示 ”Server responded "Algorithm negotiation failed"
查看>>
Ubuntu 16.04安装MinGW32
查看>>
Ubuntu 16.04(32位)下iTop4412环境搭建+Android4.0.3编译
查看>>
ubuntu命令查询版本和内核版本
查看>>
摄像头驱动OV7725学习笔记连载(一):OV7725 电器特性和时序图
查看>>
ubuntu 安装和查看已安装
查看>>
摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置
查看>>