使用
启动redis 切换到bin目录下
./redis-cli 直接启动
让redis后台运行 需要修改配置文件 redis.conf 中的 daemonize 为yes 再次启动就行
redis 命令
获取所有key keys *
通配符 * 所有 ?一个 []通配中括号内的某个字符
返回随机key名 randomkey
判断可以值是什么类型 type key名
判断key是否存在 exists key名
删除指定key del key名
修改key名 rename 原来key名 新key名 如果key名存在就会覆盖
如果key名存在就不改了 不存在则改
renamenx
redis默认开启了16个库 可在 redis.conf 配置文件中修改 databases
移动到别的库 move key名 库编号
切换到别的库 select 库编号
查询key值有效期 ttl key名 返回秒数 -1 表示永久有效
设置有效期 expire key名 整型值(设置的秒数)
设置有效期以毫秒为单位 p
expire key名 整型值(设置的豪秒数)
设置永久有效 persist key名
REDIS 字符串类型操作
设置key val 存储字符串 set key名 val值 ex有效期秒 px毫秒 nx xx 注意 秒和毫秒只能使用一个 不能同时使用 如果同时设置 会以后面的为准 nx key不存在时执行 xx key存在时执行
同时设置多个key val mset key1 val1 key2 val2
同时获取多个key值 mget key1 key2
修改val值 setrange key名 偏移量 修改后的值 如果偏移量大于字符串长度 用0填充
把val值附加到key名后 append key名 附加的值
获取部分val值 getrange key名 开始下标 结束下标 从左以 0 开始 从右从-1开始 注意 开始下标>长度 返回空 结束下标>= 长 度 截取到字符结尾
返回当前val值并修改为新值 getset key名 新值
增加1 incr key名 减去1 decr key名
增加多 incrby key名 增加的数量
减去
多 decrby key名 减去的数量
以浮点数增加 incrbyflot key名 增加的数量
REDIS list 链表 类型操作
左边添加
新的链表 lpush key名 val值
右边添加
新的链表 rpush key名 val值
取出链表的某一段 lrange key名 起始位置 结束位置
返回并删除链表最左 lpop key名
返回并删除最右 rpop key名
删除指定值 lrem key名 要删除的数量 要删除的val值
截取指定值 lrange key名 开始位置 结束位置
查看链表长度 llen key名
在指定位置插入 linsert key名 before|after 指定的值 要插入的值
删除指定的并且插入另外的链表中 rpoplpush 链表名1 链表名2 弹出链表1 的最右一个值 放入链表2最左
REDIS set 集合 类型操作
唯一性 无序性
增加一个集合 sadd key名 val1 val2 返回值 增加成功的数量
查看集合中元素 smembers key名
删除集合中某个指定元素 srem key名 要删除的值 返回值 具体成功的个数
随机返回并且删除一个元素 spop key名
随机返回集合中某个元素 srandmember key名
判断集合中是否存在某个元素 sismember key名 val值
返回集合中元素的个数 scard key
把集合1中的某个元素删除并添加到集合2中 smove 集合1 集合2 val值
求出几个集合中的交集 并返回 sinter key1 key2 key3
求出几个集合中的并集 sunion key1 key2 key3
求出key1与别的集合的差集 sdiff key1 key2 key3
order set 有序集合\
增
增加一个有序集合 zadd key名 score1 val1 score2 val2 ```
查
查询范围内的值 按照排序 zrange key名 范围 0 4 加withscores 取出对应的score
查询范围内的值 按照
score
值 zrangebyscore key名 范围 sort1 sort2 可以加 limit 跳过的位数 取几位
加withscores 取出对应的
score
查询集合某个值的排名 升序 zrank key名 val
查询集合某个值的排名 降序 zrevrank key名 val
删
删除集合内指定值 zrem key名 val
删除范围内的值 按照排序 zremrangebyrank key名 范围 0 4
删除范围内的值 按照
score
zremrangeby
score
key名 范围
score1 score2
统计
返回元素个数 zcard key
返回区间内的数量 zcount key 0 1
返回两个集合见的最大值 最小值 和 放到新的集合中 zzinterstore 新的集合 比较的集合数量 集合1 集合2 aggregate min|max|sum
REDIS Hash 哈希数据类型操作
生成一个hash一次设置一个值 hset keys field val
生成一个hash一次设置多个值 hmset keys field1 val1 field2 val2
查询所有 hgetall key
查询指定 hget key field
查询多个指定 hmget key field1 field2
删除key中field域 hdel key fiedl
返回key中元素数量 hlen key
判断key中是否有field域 hexists key field
把key中的field域增长整形值 hinrby key field val
把key中的field域增长浮点型值 hinrby float key field val
返回key中所有field hkeys key
返回key中所有value kvals key
REDIS 事务
watch key1 key2 监控 如果任意一个有变化则事务取消
unwatch 取消监视
启动事务 muitl
把执行命令放在队列里 并不去执行 exec后才去执行
失败了 discard
成功 exec
共同学习!共同进步!