Redis基本命令

Redis是一个速度非常快的非关系型数据库,使用内存作为主存储,内存中的数据也可以被持久化到硬盘。Redis以键值对形式(key-value)存储数据,其中值可以分为5种类型:

  • 字符串(string)
  • 列表(list)
  • 哈希(hash)
  • 集合(set)
  • 有序集合(zset)
  • key

Redis 基本命令


字符串


Redis的字符串(string)可以存储字符串、整数、浮点数。String命令及描述如下表所示:

                  String命令                           描述
set  key  value设置字符串key的值
get  key获取字符串key的值
del  key删除key
strlen key获取值长度
mset key1 value1 key2 value2...设置多个值
mget key1 key2...获取多个值
append key value追加值
incr key将key对应的值加一
decr key将key对应的值减一
incrby key intnum将key对应的值加整数
decby key intnum将key对应的指减整数
127.0.0.1:6379> mset age 30 sex man
OK
127.0.0.1:6379> mget age sex
1) "30"
2) "man"
127.0.0.1:6379> append name lisi
(integer) 4
127.0.0.1:6379> get name
"lisi"
127.0.0.1:6379> strlen name
(integer) 4
127.0.0.1:6379> incr age
(integer) 31
127.0.0.1:6379> incrby age 10
(integer) 41
127.0.0.1:6379> decr age
(integer) 40
127.0.0.1:6379> decrby age 20
(integer) 20
127.0.0.1:6379>

列表


Redis的列表(list)可以有序地存储多个字符串。List命令及描述如下所示:

索引值从0开始,可以为负数

                             List命令                                描述
lpush key1 value1 value2 ...在列表key左端插入一个或者多个值
rpush key1 value1 value2 ...在列表key右端插入一个或者多个值
linsert key before/after pivot value在一个元素的前/后插入新的元素
lset key index value设置指定索引的元素值
lpop key在列表key左端弹出一个值
rpop key在列表key右端弹出一个值
llen key获取列表key的长度
lindex key index获取列表key中index位置的值
lrange key start end获取列表key中位置在[start,end]范围的值
ltrim key start end裁剪列表,改为元集合的一个子集
127.0.0.1:6379> lpush fond study game sing
(integer) 3
127.0.0.1:6379> lrange fond 0 -1
1) "sing"
2) "game"
3) "study"
127.0.0.1:6379> rpush friends Jane Jack
(integer) 2
127.0.0.1:6379> linsert friends after Jack kangkang
(integer) 3
127.0.0.1:6379> lrange friends 0 -1
1) "Jane"
2) "Jack"
3) "kangkang"
127.0.0.1:6379> lset fond 2 swim
OK
127.0.0.1:6379> lpop fond
"sing"
127.0.0.1:6379> rpop friends
"kangkang"
127.0.0.1:6379> lrange fond 0 -1
1) "game"
2) "swim"
127.0.0.1:6379> llen fond
(integer) 2
127.0.0.1:6379> lindex fond 0
"game"
127.0.0.1:6379> ltrim friends 0 2
OK
127.0.0.1:6379> lrange friends 0 -1
1) "Jane"
2) "Jack"

哈希


Redis的哈希(Hash)可以存储多个键值对,其中的键和值都是字符串。Hash命令及描述如下表所示:

                        Hash命令                                描述
hset key field value将哈希key的field字段赋值为value
hmset key field1 value1 field2 value2...设置多个值
hdel key field1 field2...删除哈希key的一个或多个字段
hget key field获取哈希key的field字段的值
hmget key field1 field 2获取多个属性的值
hgetall key获取哈希key 的所有字段和值
hkeys key获取所有属性
hvals key获取所有值
hlen key返回包含数据的个数
hexists key field判断属性是否存在,存在返回1,不存在返回0
hstrlen key field返回值的字符串长度
127.0.0.1:6379> hset point x 10
(integer) 1
127.0.0.1:6379> hmset point y 20
OK
127.0.0.1:6379> hget point y
"20"
127.0.0.1:6379> hmget point
(error) ERR wrong number of argu
127.0.0.1:6379> hmget point x z
1) "10"
2) "30"
127.0.0.1:6379> hgetall point
1) "x"
2) "10"
3) "y"
4) "20"
5) "z"
6) "30"
127.0.0.1:6379> hkeys point
1) "x"
2) "y"
3) "z"
127.0.0.1:6379> hvals point
1) "10"
2) "20"
3) "30"
127.0.0.1:6379> hlen point
(integer) 3
127.0.0.1:6379> hexists point w
(integer) 0
127.0.0.1:6379> hstrlen point x
(integer) 2
127.0.0.1:6379> hdel point x y z
(integer) 3

集合


Redis中的集合(set)可以存储多个唯一的字符串。set命令及描述如下表所示:

                                set命令                                  描述
sadd key member 1 member 2...向集合key中添加一个或多个成员
srem key member 1 member 2...删除集合key中一个或者多个成员
smembers key获取集合key中所有成员
scard key获取集合key中成员数量
sismember key member判断member是否集合key的成员
sinter key 1 key 2...求多个集合的交集
sdiff key 1 key 2...求多个集合的差集
sunion key 1 key 2...求多个集合的合集
127.0.0.1:6379> sadd color red black blue whi
(integer) 4
127.0.0.1:6379> smembers color
1) "black"
2) "white"
3) "blue"
4) "red"
127.0.0.1:6379> scard color
(integer) 4
127.0.0.1:6379> sismember color yellow
(integer) 0
127.0.0.1:6379> sadd colors red blue yellow p
(integer) 4
127.0.0.1:6379> sinter color colors
1) "blue"
2) "red"
127.0.0.1:6379> sdiff color colors
1) "black"
2) "white"
127.0.0.1:6379> sunion color colors
1) "yellow"
2) "black"
3) "pink"
4) "white"
5) "blue"
6) "red"
127.0.0.1:6379> srem color red black
(integer) 2

有序集合


Redis中的有序集合(ZSet)与集合(Set)类似,可以存储多个唯一的字符串,

但在有序集合中,每个成员都有一个分数,所有成员按给定分数在集合中有序排列。

Zset命令及描述如下图所示:

                               Zset命令                                描述
zadd key score 1 member 1 score2 member2..向有序集合key中添加一个或多个成员
zrem key member member2...删除有序集合key中一个或多个成员
zrange key start stop获取有序集合key中位置在[start,end]范围的所有成员
zrangebyscore key minmax获取有序集合key中分值在[min,max]范围的所有成员
zcount key key min max获取有序集合key中分值在[min,max]范围的个数
zcard key返回元素的个数
zscore key member返回有序集合key中,成员member的分值

127.0.0.1:6379> zadd country 1 China 2 Russia 3 India 4 France
(integer) 5
127.0.0.1:6379> zrange country 0 -1
1) "China"
2) "Russia"
3) "India"
4) "France"
5) "Italy"
127.0.0.1:6379> zrangebyscore country 1 3
1) "China"
2) "Russia"
3) "India"
127.0.0.1:6379> zcount country 1 4
(integer) 4
127.0.0.1:6379> zcard country
(integer) 5
127.0.0.1:6379> zscore country China
"1"

KEY


                             key命令                                       描述
keys pattern查找键,参数支持正则
exists key判断键是否存在,如果存在返回1,不存在返回0
type key查看键及对应的值
del  key1  key2 ... 删除键及对应的值
expire key seconds设置过期时间,以秒为单位
ttl  key查看有效时间,以秒为单位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值