redis命令详解

来源:互联网 发布:程序编程范式是什么 编辑:程序博客网 时间:2024/05/16 11:23
1.使用客户端连接redis服务,需要有一个redis客户端
$ redis-cli -h host -p port -a password
如果是本地的redis服务可以直接使用命令,默认本地 6379端口
$ redis-cli

2.多个redis实例(多库)
设置数据库个数
127.0.0.1:6379> CONFIG SET databases 8
查询数据库个数
127.0.0.1:6379> CONFIG GET databases
切换数据库(选择数据库6,默认连接数据库0)
127.0.0.1:6379> select 6

3.redis对key的操作
DEL 删除指定key(删除key1)
127.0.0.1:6379[1]> DEL key1
(integer) 1
DUMP 序列化给定 key ,并返回被序列化的值
127.0.0.1:6379[1]> DUMP key1
"\x00\xc0\x0b\a\x00/\x95\xc2x/5\xa4U"
EXISTS 查询指定key是否存在
127.0.0.1:6379[1]> EXISTS key1
(integer) 1
KEYS 查找所有符合给定模式( pattern)的 key
127.0.0.1:6379[1]> keys *key*
1) "key1"
EXPIRE 设置key的过期时间
127.0.0.1:6379[1]> EXPIRE key1 20
(integer) 1
20秒后再查询,key1已被删除
MOVE 移动key到其他库(移动key1 到数据库2)
127.0.0.1:6379[1]> MOVE key1 2
(integer) 1
TYPE 查询key所储存的值的类型
127.0.0.1:6379[1]> TYPE key1
string

4.redis支持的数据类型(字符串String,哈希Hash,列表List,集合Set,有序集合sorted set)
4.1 字符串String相关命令
SET 设置指定key值
127.0.0.1:6379[1]> SET key1 value1
OK
GET 获取指定key值
127.0.0.1:6379[1]> GET key1
"value1"
GETRANGE 返回指定key的子字符串
127.0.0.1:6379[1]> GETRANGE key1 0 2
"val"
MSET 设置多个key-value
127.0.0.1:6379[1]> MSET key4 value4 key5 value5
OK
MGET 获取多个给定key值对应的value
127.0.0.1:6379[1]> MGET key1 key2
1) "value1"
2) "value2"
SETNX 只有在 key 不存在时设置 key 的值(key1存在不存储)
127.0.0.1:6379[1]> SETNX key1 11
(integer) 0
STRLEN 返回 key 所储存的字符串值的长度
127.0.0.1:6379[1]> STRLEN key1
(integer) 6
INCR 将 key 中储存的数字值增一
127.0.0.1:6379[1]> get key3
"1"
127.0.0.1:6379[1]> INCR key3
(integer) 2
INCRBY 将 key 所储存的值加上给定的增量值(increment)
127.0.0.1:6379[1]> get key3
"2"
127.0.0.1:6379[1]> INCRBY key3 2
(integer) 4
DECR 将 key 中储存的数字值减一
127.0.0.1:6379[1]> get key3
"4"
127.0.0.1:6379[1]> DECR key3
(integer) 3
DECRBY key 所储存的值减去给定的减量值(decrement)
127.0.0.1:6379[1]> get key3
"3"
127.0.0.1:6379[1]> DECRBY key3 2
(integer) 1
APPEND 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾
127.0.0.1:6379[1]> APPEND key1 aaa
(integer) 9
127.0.0.1:6379[1]> get key1
"value1aaa"

4.2 哈希Hash相关命令
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象,以用户对象 为例,user{name:lgy,age:25}
HMSET 存储:
127.0.0.1:6379[1]> HMSET user name "lgy" age 25
OK
HSET 修改其中一个属性(age)
127.0.0.1:6379[1]> HSET user age 26
(integer) 0
HGETALL 查询:
127.0.0.1:6379[1]> HGETALL user
1) "name"
2) "lgy"
3) "age"
4) "26"
HGET 查询其中一个属性(name):
127.0.0.1:6379[1]> HGET user name
"lgy"
HMGET 查询多个属性(name和age):
127.0.0.1:6379[1]> HMGET user name age
1) "lgy"
2) "26"
HKEYS 获取所有属性
127.0.0.1:6379[1]> HKEYS user
1) "name"
2) "age"
HLEN 获取属性个数
127.0.0.1:6379[1]> HLEN user
(integer) 2
HINCRBY 给age增加3
127.0.0.1:6379[1]> HINCRBY user age 3
(integer) 29
给age减少3,和String不同,没有找到减少的命令,不过可以使用增加-3来实现
HSETNX 插入不存在的属性,如果存在不插入(name存在,sex不存在)
127.0.0.1:6379[1]> HSETNX user name ligy
(integer) 0
127.0.0.1:6379[1]> HSETNX user sex man
(integer) 1
HDEL 删除一个或多个属性(删除sex,age)
127.0.0.1:6379[1]> HDEL user sex age
(integer) 2
127.0.0.1:6379[1]> HKEYS user
1) "name"

剩余三种类型没用过就不写了
4.3 列表List相关命令
4.4 集合Set相关命令
4.5 有序集合sorted set 相关命令

原创粉丝点击