redis 常用命令

144 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

redis:

Redis是一个开源的基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。 Redis支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs等。 Redis具备LRU淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集和通过Redis Sentinel实现的高可用方案,同时还支持通过Redis Cluster实现的数据自动分片能力。

Redis的主要功能都基于单线程模型实现,也就是说Redis使用一个线程来服务所有的客户端请求,同时Redis采用了非阻塞式IO,并精细地优化各种命令的算法时间复杂度,这些信息意味着:

Redis是线程安全的(因为只有一个线程),其所有操作都是原子的,不会因并发产生数据异常 Redis的速度非常快(因为使用非阻塞式IO,且大部分命令的算法时间复杂度都是O(1)) 使用高耗时的Redis命令是很危险的,会占用唯一的一个线程的大量处理时间,导致所有的请求都被拖慢。(例如时间复杂度为O(N)的KEYS命令,严格禁止在生产环境中使用)

redis安装命令:

下载redis..tar.gz, 解压 tar zxvf redis..tar.gz

启动redis 服务器:

在redis安装目录下src目录找到redis-server

在src目录下执行命令 ./redis-server

若在src目录找不到redis-server
确认你redis是否进行编译(make命令)
直接在解压的redis目录下执行make命令(直接输入make即可)

启动redis 客户端:

在src目录下执行命令 ./redis-cli

默认启动127.0.0.1 6379

可加入参数 ./redis-cli -h 127.0.0.1 -p 6379 -a password

redis 常用命令:

redis-cli -h host -p port -a password redis 127.0.0.1:6379> ping pong config get requirepass :获取redis密码 auth password

命令

del key
exists key
expire key seconds : 为给定 key 设置过期时间,以秒计。
keys pattern : 查找所有符合给定模式( pattern)的 key
ttl key : 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
rename key newkey :修改 key 的名称
type key :key 所储存的值的类型

字符串 String

set key value
get key
getrange key start end
getset key value
mget key1 key2 …
incr keykey中存储的数字值增1
decr keykey中存储的数字值减1

哈希 Hash

hset key field value
hget key field
hgetall key
hkeys key
hexists key filed
hdel key field1 field2 …
hmset key field1 value1 [field2 value2 ]

列表 List

lpush key value1 value2 …
lpop key :移出列表元素
llen key
lindex key index
lset key index value
lrange key start stop

集合 Set

sadd key member1 member2 …
scard key :获取集合的成员数
smembers key: 返回集合中的所有成员
spop key :随机移除元素
sunion key1 key2 …:返回所有给定集合的并集
sinter key1 key2 …:返回给定所有集合的交集

有序集合 S set

zadd key member1 member2 …
zcard key :获取有序集合的成员数
zcount key min max :计算在有序集合中指定区间分数的成员数
zrange key start stop
zrank key member :返回成员的索引
zrem key member :移除有序集合中的一个或多个成员