本文主要说一下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
优化API
22.setnx
如果k存在则不赋值
setnx k v
23.setex
给k赋值v,并设失效时限
setex k 10 v
24.set k v setparams
setparams属性:
private static final String XX = "xx"; 有key的时候才赋值 private static final String NX = "nx"; 没有key时才赋值 private static final String PX = "px"; 毫秒
private static final String EX = "ex"; 秒
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之后发的命令
回滚
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。