redis的一些基本命令

Redis 是一个数据结构类型的服务器,不是单纯的 key-value 存储。 Redis 里面的键是二进制安全的(二进制安全是指数据在传输过程中保证数据的安全性,包括加密等),因此键的内容不应该包含空格或者换行符。比如 ”hello world” 和 ”hello world\n” 是错误的。

一 Keys上的操作

1) DEL key [key…]
删除多个key,不存在的key,则忽略
返回实际删除了的key的个数

2) EXISTS key
返回1和0表示key是否存在

3) EXPIRE key seconds
设置key的存活时间

4) EXPIREAT key timestamp
UNIX timestamp(seconds since January 1, 1970)来设置存活期

5) KEYS pattern
返回match pattern的keys的列表

6) MOVE key db
在当前数据库中将key移动到指定的db中
如果key在当前db中不存在或者指定的db中已有这个key,就不移动
返回1或者0表示是否moved

7) OBJECT REFCOUNT
返回关联到key上的引用的个数
OBJECT ENCODING
返回key在数据库内部的压缩编码方式
OBJECT IDLETIME
返回key多久没有被读写
在2.2.3版本后才可使用,目前装的是2.0.2版本,不支持

8) PERSIST key
移除key上的时间限制属性,使其永久存在
版本2.1.2后有效

9) RANDOMKEY
从数据库随机的返回一个key

10) RENAME key newkey
重新命名一个key,其他不变

11) RENAMENX key newkey
重新命名一个key,如果newkey已经存在时,命令失败

12)SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern …]] [ASC|DESC] [ALPHA] [STORE destination]
各种排序方式

13) TTL key
返回一个key还能在数据库中存活多久(seconds)
如果key不存在或者没有时间限制,返回-1
expire mykey可以设置一个key的存活时间

14) TYPE key
返回key的类型(string,list,set…)


二 Strings数据类型

这是最简单的 redis 数据类型,在只使用这个数据类型的时候, Redis 就和一个有持久存储功能的 memcached 服务器类似。在 Redis 中,值最大可以有 1GB ,因此可以将图片等内容都缓存进去。 SET 操作, GET 操作是基本的存储和读取操作, INCR 命令可以将值自增 1.

1) DECR key
key减1,对整型适用(或者以整型代表的字符串)
对其他类型,返回错误

2) GETRANGE key start end
返回substring,包含开始和结束索引
0代表第一个索引,-1最后一个索引

3) GETSET key value
对已经存在的key,设置其新的value,并返回老的value
如果key不是string类型,返回错误

4) MGET key [key …]
返回多个值

5) MSET key value [key value …]
同时设置多个key-value的值


三 Hashes

Redis 的 hash 是 string 类型的 field 和 value 映射表,添加删除的时间复杂度是 O(1) 。适合用来存储对象,可以减少内存的使用。减少内存使用的原因是新建 hash 对象时开始使用 zipmap 来存储

1) HGETALL key
返回hash表中的所有域和它对应的值

2) HKEYS key
返回所有的域

3) HLEN key
返回hash表的长度

4) HMGET key field [field …]
返回hash表多个域的值

5) HMSET key field value [field value …]
同上

6) HVALS key


四 Lists

Redis 的 List 类型是使用双向链表存储的,因此不管是在 List 的头还是尾部插入数据,所消耗的时间的是固定的。

1) BLPOP key [key …] timeout
Remove and get the first element in a list, or block until one is available
Lpop的blocking版本,在timeout时间时间内,pop第一个非空的key中的第一个元素(元素连同它所在的key一起返回)
可以允许key中有空值,它会去找第一个非空的key
如果都空,blocking发生作用,它会等待直到有一个key经过了lpush或rpush非空

2) BRPOP key [key …] timeout
Remove and get the last element in a list, or block until one is available
最后一个。同上

3) BRPOPLPUSH source destination timeout
Pop a value from a list, push it to another list and return it; or block until one is available

4) LINDEX key index
用索引获取值(后进列表的索引在前)

5) LINSERT key BEFORE|AFTER pivot value
将value插入在pivot之前或者之后

6) LLEN key
不解释

7) LPOP key
pop并返回第一个值(索引0的值)

8) LPUSH key value [value …]
不解释

9) LPUSHX key value
同上一条的区别是,只有当key已经存在并非空时,才push一个value

10) LRANGE key start stop
返回索引从start到stop的值

11) LREM key count value
删除|count|个value,count为正表示从左往右数,为负表示从右往左数
0表示删除全部值为value的项
返回值是实际删除的个数

12) LSET key index value
要设置的index范围必须已存在

13) LTRIM key start stop
trim一个list,保留start到stop之间的

14) RPOP key
pop最后一个key

15) RPOPLPUSH source destination
pop最后一个元素,append到另一个list里,并返回这个值

16) RPUSH key value [value …]
加到列表最后

17) RPUSHX key value
仅当列表已经非空时,加到列表最后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值