03. Redis基础-命令

本文详细介绍了如何在服务器端管理和操作Redis,包括启动、关闭服务,查看进程、端口、日志,以及客户端的连接、执行各种数据库、字符串、列表、哈希和集合命令,对Redis开发者和运维人员有实用参考价值。
摘要由CSDN通过智能技术生成

程序命令

服务端命令

启动服务

  • redis-server /usr/local/redis/conf/redis.conf
redis-server /usr/local/redis/conf/redis.conf
#指定配置文件启动
  • redis-server
redis-server
#使用默认配置文件启动

关闭服务

kill -9 `ps -ef | grep redis | grep -v $$ | awk -F ' ' '{print $2}'`

查看进程

  • ps -ef | grep redis
ps -ef | grep redis
root      19479      1  0 17:16 ?        00:00:00 redis-server 0.0.0.0:6379
root      19491  19437  0 17:26 pts/0    00:00:00 grep --color=auto redis

查看端口

  • netstat -anutp | grep redis
netstat -anutp | grep redis
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      19479/redis-server

查看日志

  • tail -f /usr/local/redis/logs/redis.log
tail -f /usr/local/redis/logs/redis.log
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

19479:M 05 Mar 17:16:17.976 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
19479:M 05 Mar 17:16:17.976 # Server started, Redis version 3.2.9
19479:M 05 Mar 17:16:17.976 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
19479:M 05 Mar 17:16:17.976 * The server is now ready to accept connections on port 6379

客户端命令

连接服务端

  • redis-cli
redis-cli
127.0.0.1:6379>
  • redis-cli -h 192.168.108.130 -p 6379
redis-cli -h 192.168.108.130 -p 6379
192.168.108.130:6379>

退出连接

  • exit
127.0.0.1:6379> exit

关闭服务

  • SHUTDOWN
127.0.0.1:6379> SHUTDOWN
  • redis-cli shutdown
redis-cli shutdown
  • redis-cli -h 192.168.108.130 -p 6379 shutdown
redis-cli -h 192.168.108.130 -p 6379 shutdown

数据库命令

全局命令

命令帮助

  • help get
192.168.108.130:6379> help get

  GET key
  summary: Get the value of a key
  since: 1.0.0
  group: string

查看所有key名称

  • keys *
192.168.108.130:6379> keys *
1) "key_name"

#注意:当数据量很大时,使用此命令会导致Redis挂掉,线上禁止使用。
  • keys k*
192.168.108.130:6379> keys k*
1) "key_name"

#查看以某个字符开头的key
  • keys k?
192.168.108.130:6379> keys k?
(empty list or set)

#查看k和任意一个字符组成的key,一个?代表一个字符

查看key的总数

  • dbsize
192.168.108.130:6379> dbsize
(integer) 0

#有多少个key就显示多少

查看key是否存在

  • exists key
192.168.108.130:6379> exists name
(integer) 0

#如果key存在返回1,不存在返回0

删除key

  • del key
192.168.108.130:6379> del name
(integer) 1

#成功删除返回1,key不存在删除时返回0
  • del key_name name uname
192.168.108.130:6379> del key_name name uname
(integer) 1

#删除多个key,由于三个key中只有1个key_name存在,所以返回值为1

key过期

  • expire key seconds
192.168.108.130:6379> expire name 600
(integer) 1

#设置键过期时间,单位秒
  • ttl key
#查看键多久后会过期
192.168.108.130:6379> ttl name
(integer) 554

192.168.108.130:6379> ttl key_name
(integer) -1

#返回值为-1时,表示key没有设置过期时间
#返回值为-2时,表示key不存在
#返回值大于等于0时,表示key剩余时间
  • persist key
192.168.108.130:6379> persist name
(integer) 1

#取消key的过期时间

查看key类型

  • type key
192.168.108.130:6379> type name
string

#返回key的类型

切换数据库

  • select index
192.168.108.130:6379> select 15
OK

#切换至第15号数据库

清理数据

  • FLUSHALL
192.168.108.130:6379[15]> FLUSHALL
OK

#清理所有数据库的内容
  • FLUSHDB
192.168.108.130:6379[1]> FLUSHDB
OK

#清理当前数据库的内容

字符串命令

设置key|value

  • set key value
192.168.108.130:6379> set address henan
OK

设置多个key|value

  • mset key value key value
192.168.108.130:6379> mset name wangmingqu age 18 address zhengzhou like python
OK

#注意:以存在的key再次添加时,会直接覆盖。

查看value

  • get key
192.168.108.130:6379> get address
"henan"

查看多个value

  • mget key key key
192.168.108.130:6379> mget name age address like
1) "wangmingqu"
2) "18"
3) "zhengzhou"
4) "python"

#注意:如果查询不存在的key,则返回nil

递增计数器

  • set key value
192.168.108.130:6379> set number 1
OK
  • incr key
192.168.108.130:6379> incr number
(integer) 2

#每执行一次,递增一次,每次加1
#注意:只有value的值为数字时才能进行递增
  • get key
192.168.108.130:6379> get number
"2"

加法计数器

  • set key value
192.168.108.130:6379> set pace 11
OK
  • incrby key number
192.168.108.130:6379> incrby pace 100
(integer) 111

#指定数值,与value值相加
#注意:只有value的值为数字时才能进行递增
  • get key
192.168.108.130:6379> get pace
"111"

列表命令

设置key|value

  • rpush key value
192.168.108.130:6379> rpush like_book python
(integer) 1

#从右侧插入value
  • lpush key value
192.168.108.130:6379> lpush like_book shell
(integer) 2

#从左侧插入value

设置多个key|value

  • rpush key value value value
192.168.108.130:6379> rpush like_book python golang lua
(integer) 3
  • lpush key value value value
192.168.108.130:6379> lpush like_book shell linux nginx
(integer) 6

查看value

  • llen key
192.168.108.130:6379> llen like_book
(integer) 2

#查看key中有几个value
  • lrange key start stop
#查看所有value内容
192.168.108.130:6379> lrange like_book 0 -1
1) "shell"
2) "python"

#查看某一段value内容
#start计数为0 1 2 3 ...,stop表示截止

删除value

  • rpop key
192.168.108.130:6379> rpop like_book
"python"

#从右侧删除value,返回删除的value
  • lpop key
192.168.108.130:6379> lpop like_book
"shell"

#从左侧删除value,返回删除的value

哈希命令

设置field|key|value

  • hmset key field value field value field value
192.168.108.130:6379> hmset info username wangmingqu password 1qaz!QAZ
OK

查看value

  • hmget key field
192.168.108.130:6379> hmget info username
1) "wangmingqu"
  • hmget key field field
192.168.108.130:6379> hmget info username password
1) "wangmingqu"
2) "1qaz!QAZ"
  • hgetall key
192.168.108.130:6379> hgetall info
1) "username"
2) "wangmingqu"
3) "password"
4) "1qaz!QAZ"

#查看所有的field和value

集合命令

设置key|value

  • sadd key member member member
192.168.108.130:6379> sadd shanghai shlg shfz shzf dhdx fddx cjxy
(integer) 6

#注意:set集合中不允许出现重复元素
#返回插入的有效value个数

查看value

  • smembers key
192.168.108.130:6379> smembers shanghai
1) "shlg"
2) "dhdx"
3) "shzf"
4) "shfz"
5) "fddx"
6) "cjxy"

比较集合

  • sadd key member member member
192.168.108.130:6379> sadd shanghai shlg shfz shzf dhdx fddx cjxy
(integer) 6
192.168.108.130:6379> sadd shanxi wnzy sxlg gszy cjxy
(integer) 4

#创建两个集合
  • sdiff key key
192.168.108.130:6379> sdiff shanghai shanxi
1) "shfz"
2) "shlg"
3) "dhdx"
4) "shzf"
5) "fddx"

#比较两个集合不同,返回第一个key中不同与第二个key的value
  • sinter key key
192.168.108.130:6379> sinter shanghai shanxi
1) "cjxy"

#比较两个集合相同,返回相同的内容
  • sunion key key
192.168.108.130:6379> sunion shanghai shanxi
1) "shfz"
2) "fddx"
3) "wnzy"
4) "shlg"
5) "dhdx"
6) "sxlg"
7) "cjxy"
8) "shzf"
9) "gszy"

#比较两个集合的不同,返回两个集合中所有不同的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值