一、基本命令
- 连接redis:redis-cli

- 查看当前所有库的key:keys *

- 添加新的值:set key vluae

- 判断key是否存在:exists key
1表示存在,0表示不存在

- 查看key的类型:type key

- 删除指定key的数据:del key或者unlink key

- 设置过期时间:expire key 时间
查看时间:ttl key

1 代表没有过期,-2代表过期,-1代表永不过期 - 切换数据库:select 数据库号

- dbsize查看当前数据库的key的数量
- 清空当前数据库:flushdb
- 清空全部数据库:flushall
二、redis字符串(String)
- 基本介绍:String是redis中的基本数据类型,可以存任何数据。一个value最大为512M。
- 常用命令:
- 添加:set 【key】【value】,如果key已经存在,会新值替换原来的值
- 查看所有键:keys*
- 获得值:get 【key】
- 追加值:append 【key】【value】在原值后追加【value】,返回新值的长度
- 获取值长度:strlen 【key】
- 当key不存在时才添加:setnx 【key】【value】
- 让数值增1:incr 【key】
- 让数值减一:decr 【key】

- 增加指定值:incrby 【key】【值】
- 减少指定值:decrby 【key】【值】

注意:redis中的增加减少具有原子性。所谓原子性就是单线程操作同一个参数时互相不影响。 - mset 【key1】【value1】【key2】【value2】…同时设置多个key-value键值对

- mget 【key1】【value1】【key2】【value2】…同时获取多个key-value键值对

- msetnx 【key1】【value1】【key2】【value2】…当key不存在时,同时设置key-value键值对
- setrange【key】【指定位置】【值】:替换指定位置的值
- getrange 【key】【起始位置】【终止位置】:获得值的范围

注意:索引从0开始 - setex 【key】【过期时间】【value】:设置键值的同时设置过期时间,单位秒
- getset 【key】【value】:设置新值替换旧值同时获取旧值。

三、redis列表(List)
-
基本介绍:redis是字符串列表,按照插入顺序排序,底层是一个双向链表。,对头和尾的操作性能很好。
-
常用指令:
-
lrange 【key】【startindex】【endindex】
按照索引取值0代表左边第一个,-1代表右边第一个 -
lpush/rpush 【key】【value1】【value2】【value3】…
从左边/右边插入一个值或多个值。

-
lpop/rpop 【key】从左边/右边吐出一个值,吐出一个值后源列表中这个值就不见了。值在健在,值光键亡

-
rpoplpush 【key1】【key2】从key1的右边吐出一个值,插到key2左边

-
index 【key】【index】:根据索引下标取值
-
llen【key】:获取列表的长度
-
linsert【key】before/after【value】【newvalue】:在value的前面/后面插入新值。
-
lrem 【key】n 【value】:从左边删除n的value
-
lset 【key】【index】【value】:将列表下标处的值替换成value
-
四、redis的集合(set)
-
基本介绍:string的无序集合,类似于list的列表功能。特殊之处在于value不能重复,无序。可以快速添加,删除,查找
-
常用命令:
-
sadd 【key】【value1】【value2】… :将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略。
-
smembers 【key】:取出该集合的所有值。

-
sismember 【key】【value】:判断集合是否为含有该值,有1,没有0

-
scard返回该集合的元素个数。
-
srem 【key】【value1】【value2】… :删除集合中的某个元素。

-
spop 【key】随机从该集合中吐出一个值。
-
srandmember 【key】【n】随机从该集合中取出n个值。不会从集合中删除 。

-
smove 【source】【destination】【value】:把集合中一个值从一个集合移动到另一个集合

-
sinter 返回两个集合的交集元素。
-
sunion 返回两个集合的并集元素。
-
sdiff 返回两个集合的差集元素(key1中的,不包含key2中的)
-
五、redis的哈希(hash)
- 基本介绍:Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map<String,Object>
- 存储方式:

- 常用命令:
- hset 【key】【field】【value】给key集合中的field键赋值

- hget 【key1】【field】从key1集合field取出 value
- hmset 【key1】【field1】【value1】【field2】【value2】… 批量设置hash的值
- hexists【key1】【field】查看哈希表 key 中,给定域 field 是否存在。
- hkeys 【key】列出该hash集合的所有field

- hvals 【key】列出该hash集合的所有value

- hincrby 【key】【field】【increment】为哈希表 key 中的域 field 的值加上增量 1 -1

- hsetnx 【key】【field】【value】将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在 .
六、redis的有序集合Zset
-
基本简介:Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了 。因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。
-
基本命令:
- zadd【key】【score1】【value1】【score2】【value2】…:将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
- zrange【key】【start】【stop】 [WITHSCORES] :返回有序集 key 中,下标在
之间的元素带WITHSCORES,可以让分数一起和值返回到结果集。

- zrangebyscore key minmax [withscores] [limit offset count] :返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。

- zrevrangebyscore key maxmin [withscores] [limit offset count] :同上,改为从大到小排列。
- zincrby 【key】【increment】【value】 :为元素的score加上增量

- zrem 【key】【value】:删除该集合下,指定值的元素

- zcount 【key】【min】【max】:统计该集合,分数区间内的元素个数

- zrank 【key】【value】:返回该值在集合中的排名,从0开始。


本文详细介绍了Redis中的六大数据类型:基本命令、字符串(String)、列表(List)、集合(Set)、哈希(Hash)和有序集合(Zset),包括它们的特性、常用命令以及操作示例。例如,字符串可以设置、获取、追加值,列表支持lpush/rpush插入、lpop/rpop弹出元素,集合用于存储唯一元素,哈希则用于存储键值对,有序集合则提供排序功能。此外,还讲解了如何设置键的过期时间和数据库切换等基本操作。

1552

被折叠的 条评论
为什么被折叠?



