1.String类型

注意:当键指向的是汉字时,显示的是16进制,若想显示汉字,连接时在后面加上

--raw

redis中文社区 redis中文key_赋值


单个赋值:SET key value

单个取值:GET key

多个赋值:MSET key value key1 value

获取多个值:MGET key key1

删除:DEL key

递增数字:当存储的是整数时,可以用incr使值递增,并返回递增后的值.

递增数字:incr key

递减数字:decr key

增加指定的整数:incrby key number

减少指定的整数:decrby key number

2.Hash散列

Hash叫散列类型,提供了字段和字段值的映射.字段值只能是字符串类型,不支持散列和集合等类型,相当于是对象格式的存储.

赋值:hset key field value

取值:hget key field

redis中文社区 redis中文key_redis_02


多个赋值:hmget key field value field2 value…

多个取值:hmget key field field2…

redis中文社区 redis中文key_字段_03

获取所有字段值:hgetall key

redis中文社区 redis中文key_字段_04

删除字段:hdel key field field2…

3.队列List

Redis的List是采用链表来存储,双向链表存储数据,特点:增删快,查找慢,这个队列是有序的

向列表左边添加元素:LPUSH key value value2 value3…

从列表左边弹出元素:LPOP key(临时存储,弹出后从队列中清除)

添加时:从a1开始从左边添加,a2还是从左面开始,然后是a3,所以a3在最左边,从左边弹出的就是a3

redis中文社区 redis中文key_赋值_05


从右边添加数据:RPUSH key value value2 value3…

从右边弹出数据:RPOP key

获取列表中元素的个数:LLEN key

查看列表:lrange key start stop

返回的是从start到stop中的所有元素,-1代表最后一个.

redis中文社区 redis中文key_redis中文社区_06


双向链表:左边进,右边去。右边进,左边去。

4.set集合

set集合:无序,不可重复

增加元素:sadd key member member1…

删除元素:srem key member member1…

获得所有元素:smembers key

redis中文社区 redis中文key_数据库_07


判断元素是否在集合中:sismember key member

redis中文社区 redis中文key_redis_08


1代表是,0代表不是

5.zset有序集合

Sortedset又叫zset是有序集合,可排序,但唯一。zset合set的不同之处:zset中的元素添加一个分数,然后通过分数排序
增加元素:zadd key score member score1 member1…
如果集合中已经存在这个元素,那么会用新的score替换旧的score
添加分数(可用学生成绩,销量数量等做分数,方便计算排序)

获得排名在某个范围的元素列表,并按照元素分数降序返回:revrange key start stop

redis中文社区 redis中文key_赋值_09


获取元素的分数:zscore key member

删除元素:zrem key member member1…

获得降序排列并且包含分数:zrevrange key start stop withscores

redis中文社区 redis中文key_redis_10


给分数做加减运算:zincrby key number(要加或减的数字) member

加时:number是整数

减的话:number是负数

6.HyoperLogLog

是一种食用随机化的算法,以少量的内存提供集合中唯一元素数量的近似值。

可以接受多个元素的输入,并给出输入元素的基数估算值。

基数:集合中不同元素的数量

估算值:算法给出的基数是不精确的,可能稍微多一些或少一些,但会控制在合理范围。

有点:即使输入的元素数量或者提及非常大,计算基数所需的空间总是固定的,并且很小。

在Redis里,每个HyoperLogLog键只需12kb内存,就可以计算2^64个不同的元素的基数。但是因为HyoperLogLog指挥根据元素计算基数,而不会存储数据本身。所以不能像集合那样返回数据本身。

redis中文社区 redis中文key_赋值_11

7.其他命令

1.keys

//返回所有键
keys *
//返回以xxx开头的键
keys xxx*

2.exists判断键是否存在

exists key

3.del删除某个键

del key

4.rename重命名

rename oldName newName

5.type返回键的类型

type key

6.expire设置生存时间

expire key seconds
TTL key 查看key剩余的生存时间
PERSIST key 清除生存时间

获取服务器信息和统计:info
删除当前选择数据库中的所有key:flushdb
删除所有数据库中的所有key:flushall
切换数据库select number(数据库编号)
数据转移:move key number(要转移到的数据库的编号)

8.事务管理

一次执行多个操作,遵循原子性。
事务执行的三个阶段:开始事务,命令入队,执行事务。

//开始事务
multi
//命令入队
操作1
操作2
.
.
//执行事务
exec