Redis基础知识集命令总结

本文全面总结了Redis的基础知识,包括其常用的数据类型如字符串、哈希、列表、集合和有序集合的操作命令,以及事务、持久化、主从复制等核心特性。通过本文,读者将能对Redis有更深入的理解。
摘要由CSDN通过智能技术生成
1.  Redis是内存数据库,支持数据持久化,当服务重启之后,可以再将数据reload进内存中。
2.  Redis服务启动后,对外提供服务的端口号为6379
3.  如果执行的是 ./redi-cli,那么自动连接本机的redis服务
4.  如果想要redis服务后台启动: ./redis-server &
5.  关闭redis服务 kill -9 PID
6.  Redis多种启动方式
    1.  如果redis客户端set了一个key-value,然后服务端强行关闭服务(ctrl+c),此时数据没有持久化到磁盘中,如果服务端是shutdown命令关闭服务,那么可以将之持久化磁盘中。客户端也可以用 save命令自行持久化到磁盘中。
    2.  正确关闭服务的做法是客户端执行 ./redis-cli shutdown,先持久化,然后再关闭服务
    3.  默认启动与关闭的方法便如上所述:
    4.  Redis服务默认是6379,自定义端口6380启动服务为 ./redis-server --port 6380.此时客户端再想连接,必须用: ./redis-cli -p 6380.退出时,同样也要指定端口,./redis-cli -p 6380 shutdown
    5.  也可以采用修改配置文件的方法来启动服务,修改redis.conf文件中端口号,然后指定配置文件启动服务: ./redis-server ../redis.conf
7.  客户端连接时可以指定ip地址进行本地或者远程连接:
 ./redis-cli -p 6379 -h 128.***.**.** 。客户端关闭时同样要指定ip:
./redis-cli -p 6380 -h 128.***.**.** shutdown
8.  密码: 修改配置文件的方法来设置密码,搜索redis.conf文件中 requiredpass ,然后 改为 requiredpass password.此时用配置文件启动服务,然后客户端连接时,用 ./redis-cli -p 6379 -h ip -a password,如果密码错了或者不加密码,那么ping后会提示无权限。
9.  Redis基础命令
info: 查看相关信息,注意keyspace
flushdb:清除当前keyspace的key
flushall:清除所有的keyspace以及key
ping:测试是否连通
dbsize: 当前keyspace的key数量
save:人工持久化数据到磁盘中
quit:退出
clear
10.  Redis的键命令
set key value
del key
keys *
exists key
ttl key: key的剩余生存时间,单位为秒,当为-1时,说明该key是没有过期时间的,是一个永久的key(不设置expire的话,默认永久),当为 -2时,说明 该key不存在或已经过期
expire key 10: 为key设置过期时间,10s,设置session的有效期
type key :返回该key的类型
randomkey :随机返回某key
rename a d ; 将 key a 命名为d,如果已经存在 key d, 那么将直接覆盖 d,value还是原key a 的
renamenx:以nx结尾的命令,都包含判断的逻辑
renamenx a b:如果key中包含b,那么将返回0,说明操作失败,如果key中不包含b,那么返回1,说明操作成功。
11.  Redis数据结构: String字符串
 设置key的同时设置有效期(以秒为单位): setex key 100 value
 设置key的同时设置有效期(以ms为单位): psetex key 100 value
  getrange key 0 2 :取key所对应value0-2范围的子串,闭区间
  getset key value : 设置新值的同时,返回旧值
  mset key1 value1 key2 value2 … :批量设置key-value
  mget key1 key2 … :批量获取key所对应的value
  nx:nx结尾的命令都包含判断逻辑
  setnx key value : 只有欲设置的key不存在时,才会set成功,返回1,如果该key已经存在,不成功,会返回0
  msetnx key1 value1 key2 value2:类似于事务,只有都set成功时,才返回1,只要有一个key已经存在,便都不能set成功,返回0
  strlen:字符串长度
  incr key,使key所对应的value变为value + 1,并返回变化后的value
  incrby key 100(自定义步长),使key所对应的value变为value + 100,并返回变化后的value
  相应的,也有decr和 decrby
  append key appendstr : 类似于java中的append方法,将key所对应的value设置为 value+appendnstr
12.  Redis数据结构:哈希 hash
  hset key [key value] : hset map name jim
  hexists map name : 返回1
  hexists map na : 返回0
  hget map name : 返回 jim
  hget map kkkk : 返回 nil
  hset map age 10
  hgetall map :
         “name”
        “jim”
        “age”
         “18”
  hkeys map :
         “name”
            “age”
  hvals map :
            “jim”
            “18”

hlen map : 2
hmget map name age
hmset map key1 value1 key2 value2
hkeys map
hdel map key1 key2
hsetnx map key newvalue : 同理,看map中key是否存在,决定是否set成功
13.  Redis数据结构:列表list
  lpush list 1 2 3 4 5 6
  llen list :6
  lrange list 0 2 : 6 5 4(说明是类似于栈,也可以看做头插法)
  lset list 0 100 : 将列表中索引为0元素设置为100
  lindex list 0 : 拿到指定索引处的元素:100
  lpop list :移除列表中第一个元素:100
  rpop list : 移除列表中最后一个元素 :6
14.  Redis数据结构:集合set
     sadd set a b c d
     sadd set a :返回0(说明不可重复)
     scard set ; 返回集合元素的数量
     rename set set1
     sadd set2 c d e f
     smembers set1:查看集合中所有的元素(无序)
     sdiff set1 set2 :得到两集合的差集,注意前后顺序:b a
     sdiff set2 set1 :e f
     sinter set1 set2: 得到两集合的交集: c d
     sunion set1 set2 : 得到两集合的并集
     srandmember set1 2:返回集合中随机2个元素
     sismember set1 a: a是不是该集合中的元素,0:不是,1:是
     srem set1 a b : 从集合中移除若干元素
     spop set2 :移除随机元素并返回
15.  Redis数据结构:有序集合 sortedset
     zadd sortedset 100 a 200 b 300 c(元素不能重复,分数可以)
     zcard sortedset : 3
     zscore sortedset a : 100
     zcount sortedset 0 220 :统计0分到200分(闭合区间)之间的数量: 2
     zrank sortedset a : 返回排序后的索引:0
     zrank sortedset b : 返回排序后的索引:1
     zincrby sortedset 1000 a : 给a加1000分
     zrange sortedset 0 100 : 拿前101个元素
     zrange sortedset 0 100 withscores : 拿前101个元素,同时显示分数


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值