Rdis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。它支持多种类型的数据结构。Redis内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redisl哨兵(Sentinel)和自动分区(Cluster)提供高可用性(high availability)。
一、五大基本数据类型
1. String
- set key value:设置指定 key 的值为 value。
- setex key ttl value:设置指定过期时间的kv。
- mset k1 v1 k2 v2 …:批量设置kv(原子性操作)。
- get key:获取指定 key 的值。
- getset:先获取后赋值,没有就创建,有就修改。
- del key:删除指定 key。
- incr key:将 key 中储存的数字值增一。
- decr key:将 key 中储存的数字值减一。
- incrby key incrment:将 key 中数值增加指定步长。
- append key value:在原有 key 的值之后追加值。
- strlen key:获取字符串长度。
- getrange key start end:截取指定范围字符串。
- setrange key start value:从指定位置修改字符串。
2. List
- lpush key value1 [value2]:将一个或多个值插入到列表头部。
- rpush key value1 [value2]:将一个或多个值插入到列表尾部。
- lpop key:移除并返回列表的第一个元素。
- rpop key:移除并返回列表的最后一个元素。
- llen key:返回列表的长度。
- lrange key start end:返回指定范围的列表。
- lindex key index:通过下标获取值。
- lrem key count value:移除列表中指定个数的值。
- ltrim key start end:截取指定范围的列表。
- rpoplpush source destination:移除源列表最后一个元素到新列表头部。
- lset key index value:修改指定位置列表元素(列表元素必须存在)。
- linsert key before|after value1 value2:把value2插到value1前面或后面。
3. Set
- sadd key member1 [member2]:将一个或多个 member 添加到集合中。
- smembers key:返回集合中的所有成员。
- sismember key value:判断value在不在集合中。
- srem key member1 [member2]:移除集合中一个或多个 member 。
- scard key:返回集合元素个数。
- srandmember key [count]:放回指定个数的集合元素(默认一个)
- spop key:随机移除集合元素。
- smove source destination member:将一个指定值移动到另一个集合中。
- sdif key1 key2:集合差集。
- sinter key1 key2:集合交集。
- sunion key1 key2:集合并集。
4. Hash
- hset key field value[…]:设置哈希字段的值。
- hmset key field value[…]:批量设置哈希字段的值。
- hget key field[…]:获取哈希字段的值。
- hgetall key:获取哈希中所有字段和值。
- hdel key field1 […]:删除一个或多个哈希字段。
- hlen key:获取哈希中字段的数量。
- hexists key field:判断哈希字段是否存在。
- hincrby kay field incrment:将哈希字段中数值增加指定步长。
5. Zset
- zadd key score1 member1 [score2 member2]:将一个或多个成员元素及其分数加入到有序集合。
- zrange key start stop [withscores]:通过索引区间返回有序集合成指定区间内的成员。
- zrangebyscore key -inf +inf [withscores]:显示全部并升序排序。
- zrevrange key 0 -1 [withscores]:显示全部并降序排序。
- zrem key member1 [member2]:移除有序集合中一个或多个成员。
- zcard key:获取有序集合的个数。
- zcount key min max:获取指定范围元素个数。
二、三大特殊数据类型
1. Geospatial
- geoadd key longitude latitude member:将给定的经度和纬度添加到地理空间索引中。
- georadius key longitude latitude radius m|km|ft|mi [COUNT count]:以给定的经纬度为中心,返回半径以内的成员。
- geodist key member1 member2 [m|km|ft|mi]:返回两个成员之间的距离。
2. Hyperloglog
- pfadd key element1 [element2]:将一个或多个元素添加到 HyperLogLog 中。
- pfcount key:返回给定 HyperLogLog 的基数估算值。
3. Bitmap
- setbit key offset value:对 key 所储存的字符串值,设置或清除指定偏移量上的位。
- getbit key offset:对 key 所储存的字符串值,获取指定偏移量上的位值。
- bitcount key [start end]:统计给定字符串被设置为 1 的位的数量。
三、Redis配置命令
- config get parameter:获取 Redis 配置参数。
- config set parameter value:设置 Redis 配置参数。
- config pesetstat:重置某些统计数据。
四、Redis常用命令
- info: 获取 Redis 服务器的各种信息和统计数值。
- dbsize:返回当前 Redis 实例使用的内存总量。
- save:将数据同步保存到磁盘。
- bgsave:在后台异步保存当前数据库的数据到磁盘。
- select num:选择使用哪个数据库,默认有16个。
- keys *:查看当前数据库所有key。
- move key num:移动key到指定数据库
- exists key:判断当前key是否存在
- expire key time:设置key过期时间
- ttl key:查看key剩余过期时间
- flushdb:清空当前数据库
- flushuall:清空所有数据库
本文只列出了常用的一些Redis命令,我们大可不必记住所有,需要使用时还是查官网
最为方便快捷 ==> Redis中文官网。