

![]()

3、安装:make PREFIX=/usr/local/redis install






| redis-server | 直接启动redis,只能启动 |
| redis-benchmark | 检测redis在本机的运行效率 |
| -h | 指定服务器的主机名、IP地址 |
| -p | 指定服务器的端口号 |
| -c | 指定并发连接数 |
| -n | 指定请求数 |
![]() | |
| redis-cil | 命令行工具 |
| -h | 指定ip地址 |
| -p | 指定端口号 |
| -a | 指定登录密码 |
| redis-check-aof | 检测AOF文件是否正常 |
| redis-check-rdb | 检测rdb文件是否正常 |


| redis的五大数据类型 | |
| 1、string(字符串类型):redis最基本的类型,最大能存储512MB的数据,可以存储任何数据,数字、文字、图片等等 | |
| 查看键值对类型 | keys *
模糊查询: keys t*(查看任意以t开头的键值) keys t??(查看任意以开头后面包含任意两个字符的键值)
|
| 创建键值对 (set test 10) | set test 10(set:创建、直接覆盖)
|
| 设置键值的生命周期(新建键值) setex test2 15 yyy | setex test2 15 yyy
查看键值对的生命周期:ttl test
修改已有键值的生命周期:expire test2 30
|
| 查看键值是否存在 exists test | exists test
|
| 删除键值对 (del test) | del test
|
| 查看对应键的类型 (type test) | type test
|
| append (返回当前键的总长度) | #该键并不存在,因此append命令返回当前Value的长度 #该键已经存在,因此返回追加后Value的长度
|
| 获取指定键的字符长度 strlen test | strlen test
|
| 增减:incr、decr、incrby、decrby(key值必须为整数) | |
| incr、decr 自增和自减1 | incr test / decr test
|
| incrby和decrby 指定整数增减 | incrby test 5 decrby test 5
|
| 批量创建多个键值对 (mset) | mset test2 10 test3 10
|
| 同时打印多个键的值 (mget) | mget test2 test3
|
| 2、list数据类型(列表,列表中的元素还是string类型) | |
| 创建列表 lpush test1 a b | 创建列表:lpush test1 a b c d
|
| 根据索引下标查看列表中的元素 lindex test1 2 | lindex test1 2(指定某一个索引下标位置)
lrange info 1 2(指定范围查看)
|
| 正序创建列表 rpush info 1 2 3 4 | rpush info 1 2 3 4
|
| 往列表中添加元素 |
|
| 删除列表中第一个元素 | 移除并返回mykey键的第一个元素,即从右往左第一个 lpop info1
|
| 获取列表的长度 | llen info
|
| 修改列表中元素 | lset info 3 5
|
| 在指定位置前进行插入元素 | linsert info before 2 1 linsert info after 2 1
|
| 3、hash数据类型:用于存储对象,采用hash格式进行操作,占用的磁盘空间很少,一个hash可以存储42亿个键值对 | |
| 创建hash键值 键名+字段名 | hset hafo name aa
获取键值对的元素:hget hafo name |
| 查看多个键值 | hmget hafo name sex
|
| 删除键值 | hdel hafo name sex
|
| 一次性设置多个字段 | hmset info2 name 1 sex male tall 188
|
| hgetall info2:查看所有 hkeys info2:查看所有键、字段 hvals info2:查看所有键对应的值
| |
| 删除键值 | del info
|
| 4、set数据类型(无序集合),元素类型也是string,元素是唯一的,不允许重复,多个集合类型之间可以进行并集、交集和差集运算 (1)应用场景:set当中的元素类型是唯一的,可以跟踪一些唯一性的数据,例如访问微博的用户名,只要把对应名称redis,set集合可以自动保存 | |
| 创建 | sadd myset a b
|
| 查看元素 | smembers myset
|
| 查看合集中的元素是否存在 | sismember myset a
|
| 随机返回一个元素 | srandmember myset
|
| 删除 | 随机删除一个元素:spop myset
指定名称删除:srem myset a d
|
| 5、zset有序集合:元素类型string,元素不能重复,唯一,每个元素都会关联一个double类型(小数点)的分数(score,表示权重),按照通过权重的大小进行排序,元素的权重可以相同 (1)zset应用场景:在线积分的排行榜,可以实时更新用户的分数 (2)zrange命令获取积分,zrank命令通过username获取用户的排行信息等等,按照权重有序排列 | |
| 创建 | zadd myzset 1 one 2 two 3 three
|
| 查看元素 | 查看元素:zrange myzset 0 -1 查看元素+权重:zrange myzset 0 -1 withscores
|
| 获取位置索引 | zrank myzset one(元素)
|
| 查看成员数量 | zcard myzset
|
| 查看权重范围 | zcount myzset 1 2(1《元素》2)
|
| 删除元素 | zrem myzset three(元素)
|
| 查看元素的权重 | zscore myzset two
|
| 对已有键重命名 | rename hafo haa(值不变) |
![]() | |
| 补充:set和hset(创建普通类型和hash类型)的选择:一般情况下,如无特殊需求,普通创建即可,若对一个键进行多字段存储,节省内存,使用hash方式 | |
| 查看当前库中键的数量 | dbsize
|
| 切换库 | select 0
|
| redis的库都是创建好的,默认16个,数字排名0-15,美格库之间互相独立,互不干扰,默认是0 | |
| 移动库的内容 | move yyy 10
|
| 设置密码 | config set requirepass 123456
在外声明密码:redis-cli -h 20.0.0.41 -p 6379 -a 123456
在内声明密码:auth 123456
|
| 清空当前数据库的数据 | flushdb
|
| 清空所有库 (不能用) | flushall
|