redis常用命令笔记

启动或关闭redis

./redis-server /etc/redis.conf

./redis-cli

>shutdown

通过密码验证连接到redis服务
AUTH "password"

连接远程redis服务上执行命令
redis-cli -h host -p port -a password

redis的多数据库特性

一个redis实例默认可以提供16个数据库,他们的下标从0-15;默认使用的是0号数据库。

(可以修改redis配置文件修改数据库数量)

select 1   //选择1号数据库

move key1  2  //将当前数据库中的key1移动到2号数据库

keys通用操作

keys * //查询所有的key

keys aa?  //查询所有已aa开头的key

del key1 key2  //删除key1 key2

exists xxx   //查看值为xxx的key是否存在

rename key1 key2  //将键key1重命名为key2

expire  key1 300  //给key1设置过期时间为300秒

ttl key1  //查询key1离过期还有多长时间

type key1  //获取key1是什么类型

redis数据类型:

String类型:

set str1 "this is string"

get str1

getset str1 kkkk    //先指定str1的新值kkkk,并返回str1的旧值

del str1

incr num   //将 key 中储存的数字值增一。如果 key 不存在,key 的值先被初始化为 0 ,然后再执行 INCR 操作。类型不对报错

decr num  // 与incr相反

incrby num 5  //将key值+5

decrby num 5  //将key值-5

append st1 xxx   //将st1后面追加xxx字符串。st1不存在则创建并赋值

注意:一个键最大能存储 512MB

Hash(哈希)

Redis hash 是一个键值对(key=>value)集合,hash 特别适合用于存储对象。

hset hash1 key1 "value1"

hmset hash1 key2 "value2" key3 "value3"

hget hash1 key3  获取hash1键的字段key3的值

hmget hash1 key1 key2 key3

hgetall hash1   //获取所有属性名和属性值

hdel hash1 key1 key2   //删除 key 中的一个或多个指定字段

del hash1   //删除整个key

hincrby hash1 num1 5  //将key中某个数字字段增加5

hexists hash1 xxx    //判断key中是否存在某属性

hlen hash1  //获取key的属性数

hkeys hash1   //获取key的所有属性名字

hvals hash1   //获取key的所有属性值

List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

lpush list1 value1 lalue2

lpop list1 value1  //从左侧弹出一个值

rpush list1 value4 value5

rpop list1 //从右侧弹出一个值

lrange list1 0 10

llen list1  //查询某列表总数

lpushx list1 value3   //如果list1列表存在则插入值value3; rpushx从右侧插入

rem list1  2 3   //从list1列表左侧开始删除2个3

rem list1 -2 3  //冲list1列表右侧开始删除2个3

rem list1 0 3  //删除list1中所有的3

lset list1 3 xxx   //修改list1索引为3的值为xxx

linsert list1 before b 11  //在第一个b元素前插入11

linsert list1 after b 11  //在第一个b元素之后插入11

rpoplpush list1 list2    //弹出list1右侧的一个元素放入list2的左侧

Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 以 -1 表示列表的最后一个元素。

Set(集合)

Redis 的 Set 是 string 类型的无序集合。集合成员是唯一的

sadd set1 value1 value2 value3   //添加

smembers set1   //查询

srem set1 value1 value2  //删除两个值

sismember set1 a   //判断集合set1中是否存在a这个值

sdiff set1 set2  //返回两个集合的差集

sinter set1 set2  //返回两个集合的交集

sunion set1 set2  //返回两个集合的并集

smembers set1  //获取集合所有成员

scard set1   //获取集合成员数

srandmember set1  //随机返回集合的一个元素

sdiffstore set3 set1 set2  //将set1和set2的差集存入set3

sinterstore set3 set1 set2  //将set1和set2的交集存入set3

sunionstore set3 set1 set2  //将set1和set2的并集存入set3

zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

zadd zset1 70 zs 80 lisi  //张三70分,李四80分

zscore zset1 zs   //获取张三的分数

zcard zset1   //获取zset1中的元素数

zrem zset1 zs li  //删除张三,李四

zrange zset1 0 -1  //查询所有元素名

zrange zset1 0 -1 withscores  //查询元素名以及分数

zrevrange zset1 0 -1 withscores  //从大到小排序

zremrangebyrank zset1 0 4 //范围删除

zremrangebyscore zset1 70 90  //删除分数在70至90的元素

zrangebyscore zset1 0 100  //查询0到100分的元素

zrangebyscore zset1 0 100 limit 0 2  //查询0到100分的元素,只显示前两条

zincrby zset1 3 li   //给李四分数加3

zcount zset1 80 90  //查询分数在80至90分的元素

redis事务

multi(开始一个事务) exec(相当于提交事务) discard(相当于回滚事务)

redis两种持久化

RDB方式:默认的方式,每隔一段时间将数据保存一次

AOF方式:以日志的方式记录服务器每一操作。redis启动的时候会读取这些文件来构建数据库

两种方式可以一起使用

AOF方式:AOF每秒同步,每修改同步,不同步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值