欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis启动服务和String常用命令

程序员文章站 2022-05-29 13:05:38
Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis redis server.exe redis.windows.conf _._ _. ``__ '' ._ _. . `_. '' ._ Redis 3.0.504 (00000000/0) 64 bit . `` ......

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"