Redis操作指令学习笔记之一


【注】:此篇内容为作者整理,和官方文档可能有些差异。


(声明:本教程仅供本人学习使用,如有人使用该技术触犯法律与本人无关)
(如果有错误,还希望指出。共同进步)



Redis服务

	# 安装redis服务
	redis-server --service-install redis.windows.conf --loglevel verbose
	
	# 启动服务
	redis-server --service-start
	
	# 停止服务
	redis-server --service-stop
	
	# 进入 【不同的配置启动命令不同】
	redis-cli
	
	# 验证
	auth <your password>

Redis基本操作

	### 0-15:redis默认有16个数据库,默认是在第0个数据库中操作 ###
	
	# 切换数据库
	select num
	
	# 所有键
	keys *
	
	# 删除键
	del key

	# 给指定的key添加过期时间,单位是s
	EXPIRE key seconds
	
	# 以秒为单位,返回这个键剩余的时间秒数
	ttl key
	
	# 判断一个键是否存在
	exists key
	
	# 删除当前数据库中所有的键
	flushdb
	
	# 删除所有数据库中的所有键
	flushall
	
	 #修改key的名称(如果新的key的名字存在 则会把存在的key的值 覆盖掉)
	rename key newkey

	# 随机返回一个 key
	randomkey  
	
	# 将指定键移动到指定库
	move key db  

redis数据类型指令

字符串

	# 设置键值对
	set key value
	
	# 根据键获取对应的值
	get key

	# 字符串提取,字符串从0开始,包含start和end
	getrange key start end
	
	# 设置key的值,返回的是旧值,新值会设置成功
	getset key value
	
	# 设置key的值,过期时间为seconds,如果存在,替换之,时间以s为单位
	setex key seconds value
	
	# 该key不存在的时候才设置,存在不设置
	setnx key value
	
	# setrange key offset value
	将该key对应的值从offset开始替换为value


	# 得到该key对应的值的长度
	strlen key
	
	# 同时设置多个键值对
	mset key1 value1 key2 value2 key3 value3
	
	# 同时设置多个键值对,将键不存在的时候才设置
	msetnx
	
	# 设置键值对,时间以ms为单位
	psetex key time value
	
	# 为key对应的值增加1
	# 如果key不存在,那么先创建这个key,值为0,然后设置为1
	# 如果key对应的是字符串,那么报错
	incr key
	
	# 在指定的key对应的值加number
	incrby key number
	
	# 减一
	decr key
	
	# 减去指定的数量
	decrby key number
	
	# 在指定的key对应的值后面追加value
	append key value
	
	# 一次获取多个键的值
	mget

哈希(对象)

	# 给对应的key设置属性和属性值
	hset key field value

	# 该key中不存在的field才设置为value	
	hsetnx key field value

	# 获取指定key的field属性
	hget key field
		
	# 删除对应key中指定的属性
	hdel key field1 field2

	# 对应的key中是否存在这个属性,存在返回1,不存在返回0
	hexists key field

	# 获取这个key对应的所有的属性和值
	hgetall key

	# 给这个key对应的属性值加减number
	hincrby key field number

	# 给这个key对应的属性值加减number,number为float值
	hincrbyfloat key field number

	# 对应的key中所有的属性名
	hkeys key

	# 对应的key中所有的值
	hvals key

	# 对应的key有多少个属性
	hlen key

	# 同时为key设置多个属性和属性值
	hmset key field1 value1 field2 value2 ...

	# 同时获取key的多个属性的值
	hmget key field1 field2 ...

列表 list 队列

特点:先进先出

	# 依次将value1和value2从左边插入到队列key中
	lpush key value1 value2

	# 依次的显示队列key中从start开始到stop结束的所有元素,start 0。。。。   stop -1代表最后一个
	lrange key start stop
	
	# 当队列key存在的时候才往队列头部插入数据,如果队列不存在,插入失败
	lpushx key value

	# 弹出队列key中最左边的元素
	lpop key

	# 将value从右边插入到队列key中
	rpush key value1 value2

	# 将value从右边插入到队列key中,但是前提是队列key必须存在
	rpushx key value

	# 将队列key中最右边的元素弹出
	rpop key

	# 将队列src中最右边的元素插入到队列dst中的最左边
	rpoplpush src dst

	# 将队列中start-stop区间之外的所有元素全部干掉,下标从0开始,闭区间
	ltrim key start stop
	
	# 将队列key中的第index个元素设置为value,下标从0开始
	lset key index value
	
	# 得到队列key中元素的个数
	llen key

	# 获取队列key中第index个元素
	lindex key index
	
	# 1 1 1 3 5 8 1 2 1 3 5
	# 1   -3
	# count > 0   从最左边开始,干掉count个和value相等的元素
	# count < 0   从最右边开始,干掉-count个和value相等的元素
	# count = 0   干掉队列key中所有和value相等的元素
	lrem key count value

	# 在队列key中的value的前面或者后面插入newvalue
# linsert key before|after value newvalue

集合

无序性、唯一性

往集合key中插入多个值
sadd key value1 value2 value3
得到集合中元素的个数	
scard key
	查看集合key中所有的元素
smembers key
	保留key1中key2和key3没有的元素
	key1不变,结果返回给你
sdiff key1 key2 key3

	将这个(sdiff key1 key2 key3)的结果保留到集合dst中
sdiffstore dst key1 key2 key3

	取出key1和key2的交集
sinter key1 key2
	
	将sinter key1 key2的结果保存到集合dst中
sinterstore dst key1 key2

	判断value在不在集合key中,在的话返回1,不在的话返回0
sismember key value

	将集合src中的value元素移动到集合dst中
smove src dst value

	从集合key中随机弹出一个元素
spop key

	count > 0 count < 集合元素个数:  返回你一个数组,而且数组元素唯一
	count > 集合元素个数:返回你该集合中所有的元素
	count < 0:返回给你-count个元素,但是不保证唯一
srandmember key count
	
	移除集合key中的value1和value2元素
srem key value1 value2 ...

	得到集合key1和集合key2的并集
sunion key1 key2

	将集合key1和集合key2的并集保存到dst中
sunionstore dst key1 key2

有序集合

	# 将分值为score的成员member加入到有序集合key中
	zadd key score member
	
	# 得到集合key中元素的个数
	zcard key

	# 得到集合key中分值在start到stop之间的元素的个数
	# 闭区间  [start stop]  这个写分值
	zcount key start stop

	# 给集合key中指定的member元素的分值加上number
	zincrby key number member

	# 显示集合中的元素  start和stop是下标  0 -1
	# 显示成员的时候可以显示分值
	zrange key start stop [withscores]

	# 按照区间去查找对应的元素   min和max   是分值  
	# 【注】前面的只能写数字,肯定是大于等于,后面的可以写开区间,不写默认就是闭区间
	# 0 (100   0<=  <100
	# 0 100    0<=  <=100
	# 默认升序排列好
	zrangebyscore key min max

	# 从低到高排列,下标从0开始
	# 查找member在有序集合key中的排名  显示的是下标
	zrank key member

	# 移除有序集合中指定的元素	
	zrem key member1 member2
	

	# 查询从start到stop之间所有的元素,但是是从大到小排列
	zrevrange key start stop withscores
	
	# 用法和zrank一样,但是是从大大小排列的顺序
	# 【注】得到的是下标
	zrevrank key member

	# 根据成绩从高到低排序,得到指定分值区间的成员
	# ZREVRANGEBYSCORE salary +inf -inf   # 逆序排列所有成员	
	zrevrangebyscore key max min
	
	# 返回指定成员的分数
	zscore key member

猜你喜欢

转载自blog.csdn.net/weixin_43633797/article/details/107068008