redis常用命令

redis启动和关闭

Redis-server.exe redis.windows.conf //启动本地服务端redis

Shutdown //关闭redis服务端

Exit //退出

Ps -ef|grep redis //查看redis进程

Redis-cli.exe -h ip -p 端口号 //连接redis

Config get requirepass //获取redis的密码

Config set requirepass “123456”//设置redis密码为123456

Auth 密码 //使用密码登陆

Maxclients 参数值 //设置能连接redis的最大客户端的数量

Maxmemory-policy noeviction //内存到达上限之后的处理策略

  1. volatile-lru:只对设置了过期时间的key进行LRU(默认值)
  2. Allkeys-lru:删除lru算法的key
  3. Volatile-random:随机删除即将过期key
  4. allkeys-random:随即删除
  5. Volatile-ttl:删除即将过期的
  6. Noeviction:永不过期,返回错误

Key命令

select 索引值 //切换到该索引下的库

ping //查看连接是否正常,返回PONG表示正常

keys * //表示查看该库下所有的key

clear //清空当前控制台

FLUSHALL //清空该库下说有的键

set name dingdada //添加一个key为name,value为dingdada的数据

get key//查看key的值

del kay //删除当前key和value,返回的是删除key的数量

exists key //判断当前key是否存在

move name 1  //把当前key为name的数据移动到库1中,成功返回1,失败返回0

Expire name 15 //设置key为name的数据过期时间为15秒,单位是秒

Pexpire key 时间 //和expire命令的作用类似,成功返回1,不存在或失败返回0,单位是毫秒

Expireat name 1604584100 //用于以UNIX时间戳格式设置key的过期时间,设置成功返回1,不成功或过期返回0

Persist key //用于移除给定key的过期时间,使key永不过期,成功返回1,不存在或没过期时间返回0

ttl name //查看当前key为name的剩余生命周期时间,如果返回-2,证明key已过期

type name //查看当前key为name的数据类型

dump key //用于序列化给定key,并返回被序列化的值,key不存在返回nil

Rename 老key 新key //修改key的名,把老key修改为新key

String字符串:可以表示字符串,整数,浮点数三种值,redis会自动识别这3中值

Set key value //添加一个数据,注意:插入时如果数据有空格需要用””引用,因为空格相当于分隔符,相当于该参数结束

Get key //获取当前key的值

Exists key //查看该key是否存在,存在返回1,不存在返回0

Append name dingdingding  //追加到key为name的数据后拼接值为dingdingding,如果key存在类似于Java中字符串拼接

Strlen key //查看该key值的字符串长度

Incr key //指定key的数据自增1,返回结果,相当于i++

Decr key //指定key的数据自减1,返回结果,相当于i--,可以一直为负数(一般用来做文章取消点赞,取消收藏等功能)

Incrby key 10 //指定key的数据自增10,返回结果

Decrby key 3 //指定key的数据自减3,返回结果

Getrange key 0 4 //截取字符串,相当于subString()方法,下标从0开始,不会改变原有数据,如果是getrange key 0 -1 相当于get key,获取整条数据

Setrange key 5 888 //字符串替换,相当于replace()方法,下标从0开始,但replace方法是指定替换字符,而setrange是从指定位置开始替换,替换的数据根据所需替换的长度一直,返回替换后的长度

Setex name 15 dingdong //新建一个key为name,value为dingdong,过期时间为15秒的字符串数据

Setnx key value //如果可以不存在,新增数据,返回1,如果存在返回0,跟set的区别是set会替换原来的值,setnx不会

Mset key1 value1 key2 value2 ... //插入多条数据

Mget key1 key2 key3 ... //查看多条数据

Msetnx key1 value1 key2 value2 ... //msetx是一个原子性的操作,在一定程度上保证了事务,要么都成功要么都失败,相当于if中的&&(与)

Mset student:1:name dingdong1 student:1:age 12 //新增key为student(相当于类名),1和2相当于id,name和age相当于属性

Keys * //查看所有key

Mget student:1:name student:1:age //获取数据

Getset name ding //先get再set,先获取key,如果没有,set值进去,如果有,set替换新的值,返回的是get的值

List数据类型

Lpush list v1 //新增一个集合名为list ,元素为v1的集合

Lpush list v1 v2 v3 v4 v5 //批量添加集合元素(展示顺序是:v5 v4 v3 v2 v1,再插入v6会在v5前面)

Lrange list 0 -1 //查询list的所有元素

Lrange list 0 1 //指定查询列表中的元素,从下标0开始,1结束两个元素,比如元素有v5 v4 v3 v2 v1,0到1的元素就是v5 v4

Lrange list 1 1 //指定(索引)查询列表中的唯一元素

Rpush list rv0 //右插入,跟lpush相反,这里添加进去的元素都在尾部(比如元素中有v5 v4 v3 v2 v1,插入进去rv0,展示顺序是v5 v4 v3 v2 v1 rv0)

[注:可以做一个保存记录值,每次都使用lpush,老的数据永远在后面,每次获取0 0位置的元素,是不是相当于更新了数据的操作,但是数据记录还在,想要查询记录即可获取集合所有元素.]

Lpop list //从头部开始移除第一个元素,返回的是移除的元素

Rpop list //从尾部开始移除第一个元素,返回的是移除的元素

Lindex list 1 //获取指定下标位置集合的元素,下标从0开始计数

Llen list //获取指定集合的元素长度,相当于Java中的length或者size

Lrem list 1 v2 //移除list集合元素中是v2的1个元素,0和1的结果是一样的

Lrem list 2 v2 //移除list集合元素中是v2的3个元素,参数数量如果实际集合中元素数量达不到不会报错,全部移除后返回成功后的数量值

Ltrim list 1 2 //通过下标截取指定的长度,这个list已经被改变,只剩下所指定截取后的元素

rpoplpush list newlist //移除list集合中的最后一个元素到新的集合newlist中,返回值是移除的最后一个元素值

Lset list 1 newV5 //更新list集合中下标为1的元素为newV5,如果指定集合不存在报错,如果集合存在,下标不存在,报错

Linsert list after v3 insertv3 //在集合中的v3元素之后添加上一个元素insertv3

Linsert list before v3 insertv3 //在集合中的v3元素之前添加上一个元素insertv3

Set集合:元素唯一不重复

Sadd 集合名s1 //添加set集合(可批量可单个)

Smembers 集合名//查看set中所有元素

Sismember 集合名 元素 //判断某个元素是否在set中,在则返回1,不在返回0

Scard 集合名//查看集合的长度,相当于size,length

Srem 集合名 元素 //移除set集合中指定元素

Srandmember 集合名 1 //随机抽取集合中1(参数值可变)个元素返回,如果不填参数默认抽1个值,但下面返回不会带序号值

Spop 集合名 1 //随机删除集合中1(参数可变)个元素

Smove 集合名 新集合名 1 //移动集合中的指定元素到新集合中

Sdiff 集合名1 集合名2 //查询指定的set之间的差集,可以是多个set

Sinter 集合名1 集合名2 //查询指定的set之间的交集,可以是多个set

Sunion集合名1 集合名2 //查询指定的set之间的并集,可以是多个set

注:可实现共同好友,共同关注等需求

Hash

Hset hash名 name dingdada //添加一个hash ,键是name,值是dingdada

Hget hash名 name //获取hash中key为name的值

Hgetall hash名 //获取hash 中所有的key和value

Hdel hash名 name age //删除指定hash 中name和age(可多个),可以删除后对应的value也会被删除

Hlen hash名 //获取指定hash的长度,相当于length size

Hexists hash名 name //判断key是否存在于指定的hash,存在返回1,不存在返回0

Hkey hash名 //获取指定hash中的所有key

Hvals hash名 //获取指定hash中所有value

Hincrby hash名 key 2 //让hash 中指定的key的value +2

Hincrby hash名 key -1 //让hash 中指定的key的value -1

Hsetnx hash名 key value //添加不存在key就新增返回新增成功的数量(只能单个增加),添加存在返回0

注:比string适合存对象

Zset集合:有序集合

Zadd 集合名 1 one 2 two 3 three //添加zset值,可单个可多个

Zrange 集合名 0 -1 //查询所有的值

Zrangebyscore 集合名 -inf +inf //将zset的值根据key来从小到大排序并输出

Zrangebyscore 集合名 0 1 //只查询key<=1的值并且排序从小到大

Zrevrange 集合名 1 -1 //从大到小排序输出

Zrangebyscore 集合名 -inf +inf withscores //查询指定zset的所有值,包含序号的值

Zrem 集合名 元素 //移除指定的元素,可多个

Zcard 集合名 //查看zset的元素个数,相当于长度,size

Zcount 集合名 0 100 //查询指定区间内的元素个数,区间是可变的

注:成绩表排序,工资表排序,年龄排序等需求可以用zset来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值