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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值