【实验楼】Redis基础教程——学习笔记
Redis数据类型
字符串
设置值:set key value
获取值:get key
没有相同key时才设置值:set key newval nx
拥有相同key时才设置值:set key newval xx
增加1:incr key
增加x:incrby key x
同时设置多个值:mset key1 value1 key2 value2
同时获取多个值:mget key1 key2
列表
PUSH: lpush 插入新元素到头部;rpush 插入新元素到尾部(一次可以push多个元素)
POP: lpop 删除头部元素;rpop 删除尾部元素
查看列表所有元素:lrange key 0 -1
清空列表元素/删除列表:del key
hash表
HMSET命令设置一个多域的hash表:hmset key k1 v1 k2 v2
HGET命令获取指定的单域:hget key k1
HMGET命令获取指定的多域:hmget key k1 k2
HGETALL命令获取指定key的所有信息:hgetall key
可以根据需要对hash表的表项进行单独的操作,如HINCRBY:hincrby key k1 x
无序集合
无序集合不包含重复元素,添加、删除、测试元素存在:O(1)
向无序集合中添加元素:sadd key x1 x2 x3
查看集合元素:smembers key
查看集合是否包含元素x:sismember key x
有序集合
有序集合不包含重复元素,添加、删除、更新元素:O(logN)。有序集合需要元素评分来决定元素次序。
ZADD添加元素: zadd key score value
ZRANGE查看元素:zrange key 0 -1
ZREVRANGE逆序查看元素:zrevrange key 0 -1
使用WITHSCORES参数返回评分:zrange key 0 -1 withscores
Redis系统管理
EXISTS 判断key是否存在
DEL 删除key
TYPE 返回key元素的数据类型
KEYS 返回通配符匹配的key列表
RANDOMKEY 随机获得一个已经存在的key
CLEAR 清屏
RENAME 改key的名字,新键如果存在将被覆盖
RENAMENX 改key的名字,新建如果存在则更新失败
DBSIZE 返回当前数据库的key的总数
EXPIRE 设置某个key的过期时间(秒),也可以在SET命令中设置过期时间:set key value ex seconds
TTL 查询还有多长时间过期
FLUSHDB 清空当前数据库中的所有键
FLUSHALL 清空所有数据库中的所有键
CONFIG GET 读取配置
CONFIG SET 更改配置
AUTH 使用密码认证
CONFIG RESETSTAT 重置数据统计报告
INFO 查询Redis相关信息
Redis的高级应用
认证方式:
- 登录时
redis-cli -a password - 登录后
auth password
事务:
- 开始事务:
multi - 运行事务:
exec
两种持久化方式:
- snapshotting(快照,默认方式):将数据存放到文件
- append-only file(aof):将读写操作存放到文件中
SAVE 将数据写入磁盘