Redis基础介绍与操作

Redis介绍

(1)Redis是一个开源的使用c语言编写,支持网络,可基于内存亦可持久化的日志型,key-value数据库,提供多种语言的API

(2)Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

Redis特性

(1)支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用

(2)不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

(3)支持数据的备份,即master-slave模式的数据备份

Redis优势

(1)性能极高:Redis能读的速度是110000次/s,写的速度是81000次/s

(2)丰富的数据类型:Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作

(3)原子:Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行

(4)丰富的特性:Redis还支持 publish/subscribe, 通知, key 过期等等特性





数据操作

(1) string

字符串类型是Redis中最为基础的数据类型,它在Redis中是二进制,这便意味着该类型可以接受任何格式的,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的值最多可以容纳的数据长度是512M

一. 设置

设置键值

SET key value

设置键值及过期时间,以秒为单位

SETEX key seconds value

设置多个键值

MSET key value [key value ...]
二. 获取

根据键获取值,如果不存在此键则返回nil

GET key

根据多个键获取多个值

MGET key [key ...]
三. 运算(要求:值是数字)

将key对应的value加1

INCR key

将key对应的value加整数

INCRBY key increment

将key对应的value减1

DECR key

将key对应的value减整数

DECRBY key decrement
四. 其他

向已经存在的键追加值

APPEND key value

获取值长度

STRLEN key

(2) 键的命令

查找键,参数支持正则

KEYS pattern

判断键是否存在,如果存在返回1,不存在返回0

EXISTS key [key ...]

查看键对应的value的类型

TYPE key

删除键及对应的值(可同时删除多个键)

DEL key [key ...]

设置过期时间,以秒为单位(创建时没有设置过期时间则一直存在,直到使用使用DEL移除)

EXPIRE key seconds

查看有效时间,以秒为单位

TTL key

(3) hash

hash用于存储对象,对象的格式为键值对

一. 设置

设置单个属性

HSET key field value

设置多个属性

HMSET key field value [field value ...]
二. 获取

获取一个属性的值

HGET key field

获取多个属性的值

HMGET key field [field ...]

获取所有属性和值

HGETALL key

获取所有的属性

HKEYS key

返回包含属性的个数

HLEN key

获取所有值

HVALS key
三. 其他

判断属性是否存在

HEXISTS key field

删除属性及值

HDEL key field [field ...]

返回值的字符串长度

HSTRLEN key field

(4) list

列表的元素类型为string,按照插入顺序排序,在列表的头部或者尾部添加元素

一. 设置

在头部插入数据

LPUSH key value [value ...]

在尾部插入数据

RPUSH key value [value ...]

在指定元素的前插入新元素

LINSERT key BEFORE 指定元素 value

在指定元素的后插入新元素

LINSERT key AFTER 指定元素 value

设置指定索引的元素值,索引可以是负数

LSET key index value
二. 获取

移除并且返回 key 对应的 list 的第一个元素

LPOP key

移除并返回存于 key 的 list 的最后一个元素

RPOP key

返回存储在 key 的列表里指定范围内的元素

LRANGE key start stop
三. 其他

删除列表中的元素(count绝对值表示要删除的个数)

LREM key conunt value

conut>0 从头往尾删除
conut<0 从尾往头删除
conut=0 移出所有

裁剪列表,改为原集合的一个子集

LTRIM key start stop

返回存储在 key 里的list的长度

LLEN key

返回列表里索引对应的元素

LINDEX key index

(5) set

无序集合,元素为string类型,元素具有唯一性,不重复

一. 设置

添加元素

SADD key member [member ...]
二. 获取

返回key集合所有的元素

SMEMBERS key

返回集合元素个数

SCARD key
三. 其他

删除键中的指定元素

SREM key member

求多个集合的交集

SINTER key [key ...]

求某集合与其它集合的差集

SDIFF key [key ...]

求多个集合的合集

SUNION key [key ...]

判断元素是否在集合中

SISMEMBER key member

(6)zset

有序集合,元素为string类型,元素具有唯一性,不重复,每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序,元素的score可以相同

一. 设置

添加元素

ZADD key score member [score member ...]
二. 获取

返回指定范围内的元素

ZRANGE key start stop

返回元素个数

ZCARD key

返回有序集key中,score值在min和max之间的成员

ZCOUNT key min max

返回有序集key中,成员member的score值

ZSCORE key member
三. 删除

删除指定元素

ZREM key member

删除范围内的元素

zremrangebyscore key min max
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值