redis 笔记
windows
redis 注意事项
# 启动 D:/Redis/redis-server.exe
# 用 cmder 启动 redis-cli.exe 命令行 用于呈现中文
$ start redis-cli.exe --raw
linux
cd /usr/local/redis/src
./redis-cli
select 0/1/2 选择redis的数据库序号
1.字符串命令行
set('email', '1245010030@qq.com')
# GETRANGE: 获得截取的字符串内容
redis > getrange email 0 3
result : 124
# SERLEN: 获取字符串长度
redis > strlen email
result:17
# SETEX: 设置带有过期时间的 KEY-Value
redis > setex city 5 Beijing # 5s 后自动删除
# MSET: 设置多个Key-Value
redis > mset username root sex man
result: OK
# MGET: 获取多个Key-Value
redis > mset username root
result: 1) root
2) man
# append: 在字符串的结尾加上 value
redis > append username name
result: (integer) 8
# incr 数字自加一
redis > set num 1
redis > incr num
result: 2
# incrby 加num后面的参数
redis > incrby num 13
result: 15
# incrbyfloat
redis > incrbyfloat num 0.5
result: 15.5
# 减法没有float 但是可以 incrfloat num -0.5
# decr 数字自减 1
redis > decr num 1
result: 14.5
# decrby 数字减法
redis > decrby num 10
result: 4.5
2.Hash 指令
# HSET key field value 设置哈希字段表
redis > hset name 1000 hxc # or hset 1000 name hxc
result: 1
# 设置哈希字段表
redis > hmset 1000 sex nan job coder
result: OK
# HGET HMGET HGETALL 获取哈希表字段
redis > hget 1000 sex
result: nan
redis > hmget 1000 sex job
result: nan coder
redis > hgetall key
3.List 类型介绍
# 当我们向value保存序列化的数据 可以使用列表类型
# rpush lpush lset lrange
# 向后插入新元素(可多个, 可重复)
redis > rpush dname 技术部 后勤部 售后部
# 头插法
redis > lpush dname 秘书处
# 替换 第三个元素
redis > lset dname 2 售后部
# 输出 dname 所有value
redis > lrange dname 0 -1
# llen 获取 list 长度
redis > llen dname
# lindex 获取列表某个元素
redis > lindex dname 0
# linsert 在某个位置插入元素 是value 不是 index
redis > linsert dname before 后勤部 value # 前插法
redis > linsert dname after 后勤部 value # 后插法
# 删除操作
# lpop 删除最左边的元素 并返回该元素
redis > lpop dname
# rpop 删除最右边的元素 并返回该元素
redis > rpop dname
# lrem: 删除列表某个元素 , 1 代表的不是索引是个数
redis > lrem dname 1 后勤部
4.无序集合类型
# sadd smembers
# sadd key value; 向集合中添加元素
redis > sadd empno 8001 8002 8003
# semember key ; 查看集合元素
redis > semember empno
# scard key ; 获取集合长度
redis > scard empno
# sismember key value; 查看 key 中是否存在该 value
redis > sismember empno 8001
result: 1
# srem key value 删除 key 中的 value 元素;
redis > srem empno value
# spop key count: 随机删除并返回集合的某个值
redis > spop empno
# srandmember key conut: 随机并返回集合中的元素
redis > srandmember empno
5.有序集合
# 有序集合是带有排序功能的集合 ,redis 会按照元素分数值排序
# 有序集合设置分数值
redis > zadd keyword 0 hxc 0 hxj 0 my
# 有序集合加法
# zincrby key increment mnmber
redis > zincrby keyword 1 hxc
redis > zincrby keyword 5 my
redis > zincrby keyword 2 hxj
redis > zrevrange keyword 0 -1
result: 1) my
2) hxj
3) hxc
# 获取有序集合长度
redis > zcard keyword
# 查询某个分数值区间内的元素数量
redis > zcount keyword 5 10
# 返回元素的分数值
redis > zscore keyword "my"
# zrevrange 倒序排列
redis > zrevraneg keyword
# zrange 顺序排列
redis > zrange keyword
# zrangebyscore : 获取分数值区间的集合内容
redis > zrangebyscore keyword 0 20
# zrevrangebyscore : 获取分数值区间的集合内容