Redis

数据结构
  • Redis是key-value的数据结构,每条数据都是一个键值对
  • 键的类型是一个字符串
  • 注意:键不能重复

值的类型有五种

  • 字符串string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合zset
数据操作行为
  • 保存
  • 修改
  • 获取
  • 删除
string类型

在Redis中字符串类型的value最多可以容纳的数据长度是512M

保存:

选择数据库

select 0-15

设置键值,如果设置的键不存在则添加,如存在则修改value

set key value

获取key对应的value

get key

例:设置键为name值为itcast的数据

set name itcast

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

setex key seconds value

例:设置键为aa值为aa过期时间为3秒的数据

setex aa 3 aa

设置多个键值

set key1 value1 key2 value2...

例:设置a1的值为python,a2的值为Java,a3的值为c

set a1 python a2 java a3 c

追加值

append key value

例:向键为a1中追加值haha

append a1 haha
获取:

根据键返回值,如果不存在返回nil

get key

例:获取键为name的值

get name

根据多个键获取多个值

mget key1 key2...

例:获取键a1 a2 a3的值

mget a1 a2 a3
键命令

查找键,参数支持正则表达式

keys pattern

例:查看所有键

keys *

例:查看名称中包含a的键

keys a*

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

exists key1

例:判断键a1是否存在

exists a1

查看键对应的value类型

type key

删除键对应的值

del key1 key2...

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

expire key seconds

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

ttl key
hash命令

hash用于存储对象,对象的结构为属性,值
值的类型为string

增加和修改

设置单个属性

hset key field value

例:设置键user的属性name为itheima

hset user name itheima

设置多个属性和值

hmset key field1 value1 field2 value2...

例:设置键u2的属性name为itcast,age为11

hmset u2 name itcast age 11
获取

获取指定键所有的属性

hkeys key

例:获取键u2的所有属性

hkeys u2

获取一个属性的值

hget key field

例:获取键u2属性name的值

hget u2 name

获取多个属性的值

hmget key field1 field2...

获取所有属性的值

hvals key
删除

删除整个hash键及值,使用del命令
删除属性,属性对应的值会被一起删除

hdel key field1 field2...
list类型

列表的元素类型为string
按照插入顺序排序

增加

在左侧插入数据

lpush key value1 value2...

在右侧插入数据

rpush key value1 value2...

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

linsert key before或after 现有元素 新元素

例:在键为a1的列表中元素b前加入3

linsert a1 before b 3
获取

返回列表里指定范围内的元素

  • start,stop为元素的下标索引
  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示从尾部开始,-1表示最后一个元素
lrange key start stop

例:获取键为a1的列表的所有元素

lrange a1 0 -1

设置指定索引位置的元素值
索引从左侧开始,第一个元素为0
索引可以是负数,表示尾部开始,-1表示最后一个元素

lset key index value

例:修改键为a1的列表中下标为1的元素值为z

lset a1 1 z
删除

删除指定元素
将列表中前count次出现的值为value的元素移除
count>0:从头到晚移除
count<0:从未到头移除
count=0:移除所有

lrem key count value
Set类型
  • 无序集合
  • 元素为string类型
  • 元素具有唯一性,不重复
  • 说明:对于集合没有修改操作
增加

添加元素

sadd key member1 member2...
获取

返回所有的元素

smembers key
删除

删除指定元素

srem key value
zset
  • 有序集合
  • 元素类型为string类型
  • 元素具有唯一性,不重复
  • 每个元素都会关联一个double类型的score,表示权重,哦通过权重将元素从小到大排序
  • 没有修改操作

增加

zadd key score1 member1 score2 member2...

获取

  • 返回指定范围内的元素
  • start end为元素的下标索引
  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示从尾部开始计数,-1表示最后一个元素
zrange key start end

返回score值在min和max之间的成员

zrangebyscore key min max

返回成员member的score值

zscore key member

删除
删除指定元素

zrem key member1 member2...

删除权重在指定范围内的元素

zremrangebyscore key min max
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值