ICode9

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

Redis基本类型

2021-08-07 13:34:32  阅读:174  来源: 互联网

标签:基本 删除 左边 Redis value 插入 k1 key 类型


基础

# redis默认有16个数据库,数组下标从0开始,默认使用0号库
# 当我们启动服务器并连接客户端之后:
	set <key> <value>        # 向数据库中添加数据用于测试
	keys *        # 查看当前库所有key   
	exists key        # 判断某个key是否存在
	type key        # 查看你的key是什么类型
	del key        # 删除指定的key数据
	unlink key        # 非阻塞删除指定的key(不是立即删除,而是之后空闲时删除)
	expire key 10         # 为给定的key设置过期时间,单位是秒;这里表示10秒后过期
	ttl key         # 查看还有多少秒过期,-1表示永不过期,-2表示已过期
	select 2        # 命令切换数据库;这里表示切换到2号库
	dbsize        # 查看当前数据库的key的数量
	flushdb        # 清空当前库
	flushall        # 清空全部库
	clear        # 清空屏幕

Redis中基本数据类型操作:https://blog.csdn.net/hzlarm/article/details/99432240

String

# 是二进制安全的,可包含任何数据,如图片、序列化对象;
# 一个String类型的字符串中value最大为512M
# 常用命令:
	set   <key> <value>        # 添加键值对
	get   <key>        # 查询对应键值
	append  <key> <value>        # 将<value> 追加到指定key原值的末尾
	strlen  <key>        # 获得值的长度
	setnx  <key> <value>        # 只有在 key 不存在时,设置 key 的值,存在时则不会覆盖;而set命令,当key存在时会覆盖
	incr  <key>        # 将 key 中储存的数字值增1;只能对数字值操作,如果为空,新增值为1
	decr  <key>        # 将 key 中储存的数字值减1;只能对数字值操作,如果为空,新增值为-1
	incrby / decrby  <key> <步长>        将 key 中储存的数字值增减;例如incrby k2 100 表示在k2的原值上加100

# 对redis的操作是原子性,因为redis是单线程+多路IO复用

	mset  <key1> <value1>   <key2> <value2>         # 同时设置一个或多个 key-value对  
	mget  <key1> <key2> <key3>         # 同时获取一个或多个 value  
	msetnx <key1> <value1>   <key2> <value2>         # 同时设置一个或多个 key-value 对,原子性,有一个失败则都失败,有一个key存在则全部设置失败
	getrange  <key> <起始位置> <结束位置>           # 获取指定key的value的指定索引位置的值
	setrange  <key> <起始位置> <value>        # 用 <value> 覆盖 指定<key>所储存的字符串值,从<起始位置>开始(索引从0开始)
	setex  <key> <过期时间> <value>        # 设置键值的同时,设置过期时间,单位秒
	getset <key> <value>        # 以新换旧,设置了新值同时获得旧值

List

# 数据结构:数据较少时使用ziplist,数据较多时使用quicklist
# 底层是双向链表,按照插入顺序排序,可在列表的头部或尾部操作数据
# 在该数据类型中,key表示一个list集合
	lpush/rpush  <key> <value1> <value2> <value3>       #  从左边/右边插入一个或多个值

  • 例如插入一个list集合k1,list集合中的值为v1, v2, v3

    因为是从左边插入值,所以最先插入的值被挤到了最右边
lpop/rpop  <key>        # 从左边/右边取出一个值,当值被取出后,键也就没有了

  • 例如从左边取出k1集合中的一个值
rpoplpush  <key1><key2>        # 从<key1>列表右边吐出一个值,插到<key2>列表左边。
lrange <key> <start> <stop>        # 按照索引下标获得元素(从左到右)
lrange k1 0 -1           # 0左边第一个,-1右边第一个,0-1表示获取所有;这里表示获取k1集合中的所有值
lindex <key> <index>        # 按照索引下标获得元素(从左到右)
llen <key>        # 获得列表长度 
linsert <key>  before <value> <newvalue>          # 在<value>的后面插入<newvalue>插入值
lrem <key> <n> <value>          # 从左边删除n个value(从左到右)
lrem k1 2 v1        # 当k1集合中有多个相同的value,可以删除k1集合中2个值为v2的value,从左往右开始删除
Lset <key> <index> <value>          # 将列表key下标为index的值替换成value
	

标签:基本,删除,左边,Redis,value,插入,k1,key,类型
来源: https://www.cnblogs.com/chniny/p/15109800.html

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

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

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

ICode9版权所有