ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis-基本操作总结

2019-11-09 10:56:53  阅读:180  来源: 互联网

标签:总结 例如 name 元素 Redis value a1 key 基本操作


数据结构
redis 是 key-value 的数据结构,每条数据都是一个键值对
键的类型是字符串
注意:键不能重复
值的类型分为五种:
字符串string
哈希hash
列表list
集合set
有序集合zset

数据操作行为
保存
修改
获取
删除

1、string类型
1.1、保存:
如果设置的键不存在则为添加,如果设置的键已经存在则修改

设置键值
set key value
例如:设置键为name值为itcast的数据
set name itcast

设置键值及过期时间,以秒为单位
setex key seconds value
例如:设置键为name值为itcast时间为3秒的数据
setex name1 3 itcast

同时设置多个键值
mset key1 value1 key2 value2 key3 value3
例如:
mset a1 python a2 java a3 c

追加值:
append key value
例如:
append a1 haha


1.2、获取

获取:根据键获取值,如果不存在此键则返回nil
get key
例如:get name

根据多个键获取多个值
mget key1 key2
例如:mget a1 a2 a3


1.3、键命令
查找建,参数支持正则表达式
keys pattern
例如:查看所有的键
keys *
查看名称中包含a的键
key a*

判断键是否存在,如果存在返回1,不存在返回0
exists key1
例如:exists a1

查看键对应的value的类型
type key
例如:type a1

1.4、删除键及对应的值
del key1 key2
例如:del a2 a3

1.5、设置过期时间,以秒为单位
如果没有指定过期时间,则一直存在,直到使用DEL移除
expire key seconds
例如 expire a1 3

1.6、查看有效时间,以秒为单位(剩下的)
ttl key

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

2.1、增加、修改
设置单个属性
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

2.2、获取
获取指定键所有的属性
hkeys key
例如:hkeys u2
获取一个属性的值
hget key field
例如:hget u2 name
获取多个属性的值
hmget key field1 field2

获取所有属性的值
hvals key
例如:hvals u2


2.3、删除
删除整个hash键及值,使用del命令
删除属性,属性对应的值会被一起删除
hdel key field1 field2
例如:hdel u2 age


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

3.1、增加
在左侧插入数据
lpush key value1 value2
例如:从键为a1的列表左侧加入数据a、b、c
lpush a1 a b c
右侧插入数据
rpush key value1 value2
例如:从键为a1 的列表右侧加入数据 0 1
rpush a1 0 1

在指定元素的前或后插入新元素
linsert key before或after 现有元素 新元素
例如:在键为 a1 的列表中元素 b 前 加入 3
linsert a1 before b 3

3.2、获取
返回列表里指定范围内的元素
start、stop 为元素的下标索引
索引从左侧开始,第一个元素为0
索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
lrange key start stop

例如获取键为a1 的列表所有元素
lrange a1 0 -1


3.3、设定指定索引位置的元素值

索引从左侧开始,第一个元素为0
索引可以是负数,表示尾部开始计数,如-1表示最后一个元素
lset key index value

可以进行修改键的值
例如:修改键为a1的列表中下标为1的元素值为 z
lset a 1 z

3.4、删除
删除指定元素
将列表中前count 次出现的值为value的元素移除
count > 0:从头往尾移除
count < 0:从尾往头移除
count = 0:移除所有
lrem key count value


4、set类型
无序集合
元素为string类型
元素具有唯一性,不重复
说明:对集合没有修改操作

4.1、增加
添加元素
sadd key member1 member2
向键 a3 的集合中添加元素shangsan lisi wangwu
sadd a3 zhangsan lisi wangwu

4.2、获取
返回所有元素
smembers key
例如 smembers a3

4.3、删除
删除指定元素
srem key member1
例如:srem a3 wangwu


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

4.1、增加
添加元素
zadd key score1 member1 score2 member2
向键 a4 的集合中添加元素shangsan lisi wangwu,权重分别为4、5、6
zadd a4 4 zhangsan 5 lisi 6 wangwu

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

例如获取键为a1 的列表所有元素
zrange a4 0 -1

返回score 值在min和max之间的成员
zrangebyscore key min max
例如zrangebyscore a4 5 6

返回成员member的score值
zscore key member
例如 :zscore a4 zhangsan

4.3、删除
删除指定元素
zrem key member1
例如:zrem a4 zhangsan

删除权重在指定范围的元素
zremrangebyscore key min max
例如:zremrangebyscore a4 5 6

标签:总结,例如,name,元素,Redis,value,a1,key,基本操作
来源: https://www.cnblogs.com/fuyouqiang/p/11824502.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有