百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Redis启动服务和String常用命令(redis如何启动服务器)

mhr18 2024-10-23 11:31 18 浏览 0 评论

Redis启动服务和String常用命令

1. 启动Redis服务
E:\redis>redis-server.exe redis.windows.conf
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 3.0.504 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 12052
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

[12052] 24 Mar 15:03:37.578 # Server started, Redis version 3.0.504
[12052] 24 Mar 15:03:37.579 * DB loaded from disk: 0.000 seconds
[12052] 24 Mar 15:03:37.579 * The server is now ready to accept connections on port 6379
2. Redis客户端连接服务
E:\redis>redis-cli.exe -h 10.2.136.131 -p 6379 -a 123456
10.2.136.131:6379>

-h redis服务的ip -p redis服务的端口 -a redis密码

3. SET
127.0.0.1:6379> set student:name "xiaoxu"
OK

set有多个可选参数

● EX seconds:用于设置 key 的过期时间为多少秒(seconds)。其中,SET key value EX seconds 等价于 SETEX key seconds value。

● PX milliseconds:用于设置 key 的过期时间为多少毫秒(milliseconds)。其中,SET key value PX milliseconds 等价于 PSETEX key milliseconds value。

● NX:表示当 key 不存在时,才对 key 进行设置操作。其中,SET key value NX 等价于 SETNX key value。

● XX:表示当 key 存在时,才对 key 进行设置操作。

127.0.0.1:6379> set student:sex man ex 5
OK
4. MSET

使用 MSET 命令同时设置多个键值对。MSET 命令是一个原子性操作,所有给定 key 都会在同一时间内被设置更新。

127.0.0.1:6379> mset student:home "ximeng" student:id 1
OK
127.0.0.1:6379> get student:home
"ximeng"

MSET支持SET的可选参数

5. GET

使用 GET 命令获取 key 中设置的字符串值。如果 key 中存储的值不是字符串类型的,则会返回一个错误,因为 GET 命令只能用于处理字符串的值;当 key 不存在时,返回 nil。

127.0.0.1:6379> get student:sex
"man"
127.0.0.1:6379> get student:sex
(nil)
6. MGET
127.0.0.1:6379> get student:sex
"man"
127.0.0.1:6379> get student:sex
(nil)
7. GETRANGE :获取键的子字符串值

使用 GETRANGE 命令来获取 key 中字符串值从 start 开始到 end 结束的子字符串,下标从 0 开始(字符串截取)。start 和 end 参数是整数,可以取负值。当取负值时,表示从字符串最后开始计数,-1 表示最后一个字符,-2 表示倒数第二个字符,以此类推。

127.0.0.1:6379> getrange student:home 1 3
"ime"
8. SETBIT\GETBIT

SETBIT 命令:设置键的偏移量

GETBIT 命令:获取键的偏移量

命令格式:

setbit key offset value
getbit key offect

使用 SETBIT 命令对 key 所存储的字符串值设置或清除指定偏移量上的位(bit)。value 参数值决定了位的设置或清除,value 值取 0 或 1。当 key 不存在时,自动生成一个新的字符串值。这个字符串是动态的,它可以扩展,以确保将 value 保存到指定的偏移量上。当这个字符串扩展时,使用 0 来填充空白位置。offset 参数必须是大于或等于 0,并且小于 2^32 (4 294 967 296)(bit 映射被限制在 512MB 之内)的正整数。在默认情况下,bit 初始化为 0。

经常用来记录网站上的浏览记录,比如:

127.0.0.1:6379> setbit video:10010 4294967295 1
(integer) 0
127.0.0.1:6379> getbit video:10010 4294967295
(integer) 1

代表第10010编号的video被用户4294967295浏览过。

9. SETRANGE 命令:替换键的值
127.0.0.1:6379> get student:name
"xiaoxu"
127.0.0.1:6379> setrange student:name 4 wang
(integer) 8
127.0.0.1:6379> get student:name
"xiaowang"
10. GETSET 命令:为键设置新值
127.0.0.1:6379> getset student:age 18
"18"
127.0.0.1:6379> get student:age
"18"
11. APPEND 命令:为键追加值
127.0.0.1:6379> append student:name "zuishuai"
(integer) 16
127.0.0.1:6379> get student:name
"xiaowangzuishuai"
12. BITCOUNT 命令:计算比特位数量

使用 BITCOUNT 命令计算在给定的字符串中被设置为 1 的比特位数量。它有两个参数:start 和 end。如果不设置这两个参数,则表示它会对整个字符串进行计数;如果指定了这两个参数值,则可以让计数只在特定的位上进行。

127.0.0.1:6379> bitcount video:10010
(integer) 1
13. BITOP 命令:对键进行位元运算(不常用)
14. STRLEN 命令:统计键的值的字符长度
127.0.0.1:6379> strlen student:name
(integer) 16
15. 对数字类型的值计算

DECR 命令:让键的值减 1

DECRBY 命令:键的值减去减量值

INCR 命令:让键的值加 1

INCRBY 命令:让键的值加上增量值

INCRBYFLOAT 命令:让键的值加上浮点数增量值

127.0.0.1:6379> incr student:age
(integer) 19
127.0.0.1:6379> incrby student:age 5
(integer) 24
127.0.0.1:6379> incrbyfloat student:age 1.02
"25.02"

相关推荐

Redis合集-使用benchmark性能测试

采用开源Redis的redis-benchmark工具进行压测,它是Redis官方的性能测试工具,可以有效地测试Redis服务的性能。本次测试使用Redis官方最新的代码进行编译,详情请参见Redis...

Java简历总被已读不回?面试挂到怀疑人生?这几点你可能真没做好

最近看了几十份简历,发现大部分人不是技术差,而是不会“卖自己”——一、简历死穴:你写的不是经验,是岗位说明书!反面教材:ד使用SpringBoot开发项目”ד负责用户模块功能实现”救命写法:...

redission YYDS(redission官网)

每天分享一个架构知识Redission是一个基于Redis的分布式Java锁框架,它提供了各种锁实现,包括可重入锁、公平锁、读写锁等。使用Redission可以方便地实现分布式锁。red...

从数据库行锁到分布式事务:电商库存防超卖的九重劫难与破局之道

2023年6月18日我们维护的电商平台在零点刚过3秒就遭遇了严重事故。监控大屏显示某爆款手机SKU_IPHONE13_PRO_MAX在库存仅剩500台时,订单系统却产生了1200笔有效订单。事故复盘发...

SpringBoot系列——实战11:接口幂等性的形而上思...

欢迎关注、点赞、收藏。幂等性不仅是一种技术需求,更是数字文明对确定性追求的体现。在充满不确定性的网络世界中,它为我们建立起可依赖的存在秩序,这或许正是技术哲学最深刻的价值所在。幂等性的本质困境在支付系...

如何优化系统架构设计缓解流量压力提升并发性能?Java实战分享

如何优化系统架构设计缓解流量压力提升并发性能?Java实战分享在高流量场景下。首先,我需要回忆一下常见的优化策略,比如负载均衡、缓存、数据库优化、微服务拆分这些。不过,可能还需要考虑用户的具体情况,比...

Java面试题: 项目开发中的有哪些成长?该如何回答

在Java面试中,当被问到“项目中的成长点”时,面试官不仅想了解你的技术能力,更希望看到你的问题解决能力、学习迭代意识以及对项目的深度思考。以下是回答的策略和示例,帮助你清晰、有说服力地展示成长点:一...

互联网大厂后端必看!Spring Boot 如何实现高并发抢券逻辑?

你有没有遇到过这样的情况?在电商大促时,系统上线了抢券活动,结果活动刚一开始,服务器就不堪重负,出现超卖、系统崩溃等问题。又或者用户疯狂点击抢券按钮,最后却被告知无券可抢,体验极差。作为互联网大厂的后...

每日一题 |10W QPS高并发限流方案设计(含真实代码)

面试场景还原面试官:“如果系统要承载10WQPS的高并发流量,你会如何设计限流方案?”你:“(稳住,我要从限流算法到分布式架构全盘分析)…”一、为什么需要限流?核心矛盾:系统资源(CPU/内存/数据...

Java面试题:服务雪崩如何解决?90%人栽了

服务雪崩是指微服务架构中,由于某个服务出现故障,导致故障在服务之间不断传递和扩散,最终造成整个系统崩溃的现象。以下是一些解决服务雪崩问题的常见方法:限流限制请求速率:通过限流算法(如令牌桶算法、漏桶算...

面试题官:高并发经验有吗,并发量多少,如何回复?

一、有实际高并发经验(建议结构)直接量化"在XX项目中,系统日活用户约XX万,核心接口峰值QPS达到XX,TPS处理能力为XX/秒。通过压力测试验证过XX并发线程下的稳定性。"技术方案...

瞬时流量高并发“保命指南”:这样做系统稳如泰山,老板跪求加薪

“系统崩了,用户骂了,年终奖飞了!”——这是多少程序员在瞬时大流量下的真实噩梦?双11秒杀、春运抢票、直播带货……每秒百万请求的冲击,你的代码扛得住吗?2025年了,为什么你的系统一遇高并发就“躺平”...

其实很多Java工程师不是能力不够,是没找到展示自己的正确姿势。

其实很多Java工程师不是能力不够,是没找到展示自己的正确姿势。比如上周有个小伙伴找我,五年经验但简历全是'参与系统设计''优化接口性能'这种空话。我就问他:你做的秒杀...

PHP技能评测(php等级考试)

公司出了一些自我评测的PHP题目,现将题目和答案记录于此,以方便记忆。1.魔术函数有哪些,分别在什么时候调用?__construct(),类的构造函数__destruct(),类的析构函数__cal...

你的简历在HR眼里是青铜还是王者?

你的简历在HR眼里是青铜还是王者?兄弟,简历投了100份没反应?面试总在第三轮被刷?别急着怀疑人生,你可能只是踩了这些"隐形求职雷"。帮3630+程序员改简历+面试指导和处理空窗期时间...

取消回复欢迎 发表评论: