redis支持以下五种类型
string(字符串) 特征 字符串
hash(hash表) 字段和值都耗内存
list(列表) 队列 可以做消息队列使用 可重复 有序
set(集合) 不可重复 无序的
zset(有序集合)
基本命令
设值:set name admin
批量设值: mset name admin age 18 sex 男
incr age 整数自增1
decr age 整数自减1
incrby age 3 整数增加自定义数量 这里是3
decrby age 3 整数减少自定义数量
incrbyfloat number 1.1 浮点数增加自定义数量 这里设之1.1
decrbyfloat number 1.1 浮点数减少自定义数量
flushdb 删库 删除当前数据库 慎用
flushall 删除所有数据库 慎用
append name abc 字符串叠加
strlen name 返回字符串长度
getrange name 1 4 截取字符串
只能设置一次值 setnx name admin
模糊查询键 keys a* 查询以a开头的键 或者 keys *a*
查询数据库中键数量: dbsize
查看键的值类型: type key
切换数据库: select db_number (如 select 2) 切换到第2个数据库 默认使用第0个数据库
hash相关命令 hset key field value hmset key field value field value
设值hash表 hmset person:001 name admin age 20 sex boy
获取hash表全部数据 hgetall person:001
获取hash表单个字段 hget person:001 name (hget key field)
删除hash表单个字段 hdel person:001 name (hdel key field)
设值单个字段 hset person:001 name admin
批量取值: hmget person:001 name age sex
判断field是否存在: hexists person:001 name
返回表中字段数量 hlen person:001
22、获取所有的字段: hkeys person:001
23、通过键获取所有value: hvals person:001
24、通过键获取所有的字段和值: hgetall person:001
25、对某个属性增加: hincrby person:001 age 2 (标识对age实行加2) 其他的加减可以参考(3、4、5、6、7、8、9)
list列表(队列)命令
从左到右插入abc: lpush key a b c
从右向左插入abc: rpush key a b c
从左到右获取所有元素: lrange key 0 -1
在b之前插入a1: linsert key before b a1 注:after为之后
查找索引下标: lrange key start end (0 -- n-1)
通过索引返回值: lindex key -1 表示返回最后一个值 如果是-2则表示返回倒数第二个值
返回list长度: llen key
将最左边的元素删除: lpop key
将最右边的元素删除:rpop key
集合set命令
判断admin是否存在:exists admin
添加元素: sadd user admin zhangsan lisi
获取元素: smembers user
删除集合中某个元素: srem user admin
计算元素个数: scard user
计算两个集合的交集: sinter user1 user2
有序zset集合命令
添加一个元素分值为100:zadd user 100 admin 返回值1
添加多个元素: zadd user 100 admin 200 zhangsan 300 lisi 返回值3
添加不存在的元素: zadd user nx 100 admin 注意: admin必须不存在
对元素添加分值: zadd user xx incr 200 admin 表示对admin添加200分 实际为300分
对元素减少分值: zadd user xx ch incr -100 admin 表示admin减少100分
查看分数与成员名: zrange user 0 -1 withscores
计算集合中成员个数: zcard user
查询指定成员的排名(正排序): zrank user admin
查询指定成员的排名(反排序): zrevrank user admin
过滤删除只保留最新的10个数据正排序: zremrangeByRank user 0 -11