乐趣区

关于redis:缓存服务器Redis-02-redis-API

本文次要说一下 redis 的操作命令, 即 API

String 类型

1.set
增加 key-value
set username admin

2.get
依据 key 获取数据
get username

3.strlen
依据 key 获取值的长度
strlen key

4.exists
判断 key 是否存在
exists name
返回 1 存在 0 不存在

5.del
删除 redis 中的 key
del key

6.Keys
用于查问符合条件的 key
keys * 查问 redis 中全副的 key
keys n?me 应用占位符获取数据
keys nam* 获取 nam 结尾的数据

7.mset
赋值多个 key-value
mset key1 value1 key2 value2 key3 value3

8.mget
获取多个 key 的值
mget key1 key2

9.append
对某个 key 的值进行追加
append key value

10.type
查看某个 key 的类型
type key

11.select
切换 redis 数据库
select 0-15 redis 中共有 16 个数据库

12.flushdb
清空单个数据库
flushdb

13.flushall
清空全副数据库
flushall

14.incr
主动加 1
incr key

15.decr
主动减 1
decr key

16.incrby
指定数值增加
incrby 10

17.decrby
指定数值减
decrby 10

18.expire
指定 key 的失效工夫 单位秒
expire key 20
key20 秒后生效

19.pexpire
指定 key 的生效工夫 单位毫秒
pexpire key 2000
key 2000 毫秒后生效

20.ttl
查看 key 的残余存活工夫
ttl key - 2 数据不存在 - 1 该数据永不超时

21.persist
撤销 key 的生效工夫
persist key

Hash 类型

能够用散列类型保留对象和属性值 – 例:User 对象{id:2,name: 小明,age:19}

1.hset
为对象增加数据
hset key field value

2.hget
获取对象的属性值
hget key field

3.hexists
判断对象的属性是否存在
HEXISTS key field
1 示意存在 0 示意不存在

4.hdel
删除 hash 中的属性
hdel user field [field …]

5.hgetall
获取 hash 全副元素和值
HGETALL key

6.hkyes
获取 hash 中的所有字段
HKEYS key

7.hlen
获取 hash 中所有属性的数量
hlen key

8.hmget
获取 hash 外面指定字段的值
hmget key field [field …]

9.hmset
为 hash 的多个字段设定值
hmset key field value [field value …]

10.hsetnx
设置 hash 的一个字段, 只有当这个字段不存在时无效
HSETNX key field value

11.hstrlen
获取 hash 中指定 key 的值的长度
HSTRLEN key field

12.hvals
获取 hash 的所有值
HVALS user

List 类型

Redis 中的 List 汇合是双端循环列表, 别离能够从左右两个方向插入数据.
List 汇合能够当做队列应用, 也能够当做栈应用
队列: 存入数据的方向和获取数据的方向相同 – 先进先出
栈: 存入数据的方向和获取数据的方向雷同 – 先进后出

1.lpush
从队列的右边入队一个或多个元素
LPUSH key value [value …]

2.rpush
从队列的左边入队一个或多个元素
RPUSH key value [value …]

3.lpop
从队列的左端出队一个元素
LPOP key

4.rpop
从队列的右端出队一个元素
RPOP key

5.lpushx
当队列存在时从队列的左侧入队一个元素
LPUSHX key value

6.rpushx
当队列存在时从队列的右侧入队一个元素
RPUSHx key value

7.lrange
从列表中获取指定返回的元素
LRANGE key start stop
Lrange key 0 -1 获取全副队列的数据

8.lrem
从存于 key 的列表里移除前 count 次呈现的值为 value 的元素。这个 count 参数通过上面几种形式影响这个操作:
· count > 0: 从头往尾移除值为 value 的元素。
· count < 0: 从尾往头移除值为 value 的元素。
· count = 0: 移除所有值为 value 的元素。
LREM list -2“hello”会从存于 list 的列表里移除最初两个呈现的“hello”。
须要留神的是,如果 list 里没有存在 key 就会被当作空 list 解决,所以当 key 不存在的时候,这个命令会返回 0。

9.Lset
设置 index 地位的 list 元素的值为 value
LSET key index value

redis 事务命令

redis 中操作能够增加事务的反对. 一项工作能够由多个 redis 命令实现, 如果有一个命令失败导致入库失败时. 须要实现事务回滚.

1.multi
标记一个事务开始
127.0.0.1:6379> MULTI
–>OK

2.exec
执行所有 multi 之后发的命令
127.0.0.1:6379> EXEC
–>OK 写入库

3.discard
抛弃所有 multi 之后发的命令
回滚

退出移动版