redis的常用入门命令笔记

redis服务

redis命令

1 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录
2 redis-server        redis服务器
3 redis-cli            redis命令行客户端
4 redis-benchmark        redis性能测试工具
5 redis-check-aof        aof文件修复工具
6 redis-check-dump    rdb文件检查工具

启动服务

1.默认启动

redis-service

2.带配置文件启动

redis-service ./redis.conf

3.带配置文件启动 且指定某几个配置

配置后台启动,且端口是 1123
redis-server ./redis.conf --daemonize yes --port 1123

停止服务

redis-cli shutdown

reids客户端

启动

1.默认启动

redis-cli

2.制定IP和端口号

redis-cli -h 127.0.0.1 -p 6379

停止

exit

测试连接

redis-cli ping			//如果放回pong

常用命令

匹配键名列表

keys pattern
说明:pattern支持glob风格通配符格式
?	匹配一个字符
*		匹配任意个(包括0)
[]		匹配括号中的任一字符,可以使用“-” 表示一个范围,如a[a-c]
\x		匹配字符x,用于转义符号,如匹配?,使用\?

redis不区分大小写

判断键名是否存在

exists key		//存在返回整数类型1,否则返回0

删除键

del key [key ...]		//可以删除一个或多个键,返回值为删除键的个数

del命令不支持通配符

键的数据类型

type key		//返回数据类型

字符串类型

简介

存储类型:任何形式的字符串,包括二进制;
存储容量:最大512MB

命令

1.赋值
set key value
//设置多个键值
mset key value [key value ....]

2.取值
get key		//当键不存在返回空结果(nil)
//取多个键的值
mget key [key ....]

3.递增数字
incr key		//递增键值,并返回递增后的值
//注意:当键不存在时默认键值为0,当键值类型不是整数时报错(error)err value is not an integer or out of range

4.递减整数
decr key

5.增加指定的整数
incrby key  num

6.减少指定的整数
decrby key num

7.添加指定浮点数
incrbyfloat key num

8.减少指定浮点数
decrbyfloat key num

9.向尾部添加值
append key value		//如果键不存在则将键值设会value,返回值为追加后字符串的总长度

10.获取字符串的长度
strlen key		//键不存在返回0
//使用utf-8编码的中文时,一个中文的长度为3

11.位操作

散列类型—hash

简介

存储结构

在这里插入图片描述
字段值只能时字符串,不支持其它类型
redis的数据类型都不支持数据类型嵌套
一个散列类型键可以包含最多232-1个字段
使用一种数据类型的命令操作另一种数据类型的键会提示:“ERR Operation against a key holding the wrong kind of value”

命令

1.设值

//返回值:执行插入操作返回1,跟新操作返回0,不存在则创建
hset  key field value			//设置一个键(对象)的一个字段(属性)的值
hmset key field value [field value .....]		//设置一个键(对象)的多个字段(属性)值
//例:
hmset user name zhangsan sex 19

2.取值

hget key field		//取到一个键(对象)的一个字段(属性)值
hmget key field [field ....]		//取到一个键(对象)的多个字段(属性)值
hgetall key 							//取得一个键(对象)的所有字段(属性)值

3.判断字段是否存在

hexists key field 		//存在返回1,否则返回0(如果键不存在也返回0)

4.当字段不存在时赋值

hsetnx key field value 		//当键的字段存在则不执行任何操作

5.增加数字

hincrby key field num

7.删除字段

hdel key field [field ....]		//返回值为删除的字段个数

8.只获取键的字段名或字段值

hkeys key		//返回键的所有字段名
hvals key			//返回键的所有字段值

9.获取字段数量

hlen key

列表类型—list

简介

特点:list是一个有序的字符串列表
缺点:使用链表的代价是通过索引访问元素比较慢
存储容量:一个列表类型最多能容纳2^32^-1个元素
内部实现:list内部用双向列表实现,不管列表的长度是多少,向列表两端添加元素的时间复杂度都为O(1),获取越接近两端的元素速度越快
常用操作:向list的两端添加或弹出元素,或者获取list的某一片段

命令

1.向列表两端添加元素

lpush key value [value ...]			//向列表左边添加一个或多个元素,返回增加元素后的列表长度
rpush key value [value ...]			//向列表右边添加一个或多个元素,返回增加元素后的列表长度

2.从列表两端弹出元素

lpop key		//从左边弹出一个元素,先从列表中移除,再返回被移除的元素值
rpop key		//从右边弹出一个元素,先从列表中移除,再返回被移除的元素值

3.获取列表元素个数

llen key		//当键不存在时返回0

4.获取列表片段

lrange key start stop		//返回索引(从0开始)范围内的值(包括两端的元素)
//支持负索引,例:
lrange key 0 -1		//返回列表中的所有值

5.删除list中的指定值

lrem key count value		//删除list中前count个值为value的元素,返回值是实际删除的元素个数
//count的不同取值
	1.当count>0时,从list的左边删除前count个值为value的元素
	2.当count<0时,从list的右边删除前count个值为value的元素
	3.当count=0时,删除list的所有值为value的元素

6.获得/设置指定索引的元素值

lindex key index					//索引从0开始,为负数时从右边开始,最右边元素的索引是-1
lset keey index value

7.只保留列表的指定片段

ltrim key start end

8.向列表中插入元素

linsert key before | after pivot value
//先从列表从左到右查找值为pivot的元素,再根据参数是before还是after决定将value插入到该元素的前面还是后面
//返回值为插入后列表的元素个数

9.将元素从一个列表转到另一个列表

rpoplpush source destination		//从scource的右边弹出一个元素,再加到destination的左边

集合类型—set

简介

特点:1.不重复,无序
     2.多个集合之间可以进行并、交、差运算
存储容量:set最多可以存储2^32^-1 个字符串
常用操作:向集合中添加或删除
实现方法:内部用值为空的散列表hash实现,时间复杂度都是O(1)

命令

1.添加/删除元素

sadd key member [member....]		//如果已经存在set中,则自动忽略,返回成功加入元素的数量
srem key member [member....]		//删除多个元素,返回删除成功的个数

2.获取集合中的所有元素

smembers key

3.判断元素是否在集合中

sismember key member		//存在返回1,元素不存在或键不存在返回0

4.集合中元素的个数

scard key 

5.从集合中弹出一个元素

spop key

6.集合运算
例:现有集合A、B

  • 多集合的差运算
sdiff key [key ....]				//A-B
  • 多集合的交运算
sinter key [key ...]				//A∩B
  • 多集合的并运算
sunion	key [key ....]				//A∪B

7.随机获得集合中的元素

srandmember key [count]
//count>0,从集合中随机取出count个不重复的元素
//count<0,从集合中获取|count|个有可能重复的元素

有序集合类型—sorted set

简介

特点:1.有序,不重复
	  2.比列表类型更消耗内存
	  3.可以更改元素的位置(通过更改元素的分数)

命令

1.增加元素

zadd key score member [score member ....]

2.获取元素的分数

zscore key member

3.获取排名在某个范围的元素列表

//加上withscore会连分数一起返回
zrange key start stop [withscore]
zrevrange key start stop [withscore]		//会按元素的分数从大到小的顺序输出

4.获得指定分数范围的元素

zrangebyscore key min max [withscore] [limit offset count]
//按照元素分数从小到大顺序返回分数在min和max之间的元素
//在分数前加上 ( 符号,表示不包含端点值
//-inf和+inf表示负无穷和正无穷
//[limit offset count]:表示在获得元素的列表上向后偏移offset个元素,且只获取前count个元素

5.增加某个元素的分数

zincrby key incrment  member		//incrment:要增加的分数(可为负数,member:要增加的元素名,若不存在则创建该键

6.获取集合中元素的数量

zcard  key

8.获取指定分数范围的元素个数

zcount key  min max

9.删除一个或多个元素

zrem key member [member ...]		//返回值是删除成功的元素数量

10.按照排名范围删除元素

zremrangebyrank key start stop

11.按照分数范围删除元素

zremrangebyscore key min max

12.获取元素的排名

zrank key member
zrevrank key member
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis入门中,常用命令有以下几个: 1. SET:用于设置键值对。可以将一个键设置为对应的值。 2. GET:用于获取键的值。可以根据键获取相应的值。 3. DEL:用于删除指定的键。可以删除一个或多个键。 4. EXISTS:用于检查键是否存在。可以判断一个键是否存在。 5. KEYS:用于获取所有键。可以获取当前Redis数据库中的所有键。 6. INCR:用于键的值自增。可以将键对应的值自增1。 7. DECR:用于键的值自减。可以将键对应的值自减1。 8. TTL:用于获取键的过期时间。可以获取键的剩余存活时间。 9. EXPIRE:用于设置键的过期时间。可以设置键的存活时间。 10. PERSIST:用于移除键的过期时间。可以取消键的存活时间。 11. LPUSH:用于将元素添加到列表的头部。可以将一个或多个元素添加到列表的头部。 12. RPUSH:用于将元素添加到列表的尾部。可以将一个或多个元素添加到列表的尾部。 13. LPOP:用于移除并返回列表的第一个元素。可以移除并返回列表的第一个元素。 14. RPOP:用于移除并返回列表的最后一个元素。可以移除并返回列表的最后一个元素。 15. SADD:用于向集合中添加元素。可以将一个或多个元素添加到集合中。 16. SMEMBERS:用于获取集合的所有成员。可以获取集合中的所有成员。 17. SCARD:用于获取集合的成员数量。可以获取集合中的成员数量。 18. ZADD:用于向有序集合中添加元素。可以将一个或多个元素添加到有序集合中。 19. ZRANGE:用于获取有序集合的指定范围内的元素。可以获取有序集合中指定范围内的元素。 20. ZCARD:用于获取有序集合的成员数量。可以获取有序集合中的成员数量。 以上是Redis入门常用命令,可以帮助你开始使用Redis进行数据存储和操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Redis常用命令大集合(快速入门)](https://blog.csdn.net/yy12345_6_/article/details/124177795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [尚硅谷Redis入门视频](https://download.csdn.net/download/wang9527007/10390271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值