redis数据类型之string,list

  redis是干啥的就不多说了,我这里使用windows版的redis,redis是基于内存的,单进程单线程的非关系型数据库,不需要考虑什么线程安全;

  想要慢慢的深入redis就要耐下心来从最基本的命令开始慢慢敲一遍,害

1. redis启动脚本

  下载完之后目录应该是下图这样的,我们启动一般是redis-server.exe redis.windows.conf启动的,这样可以根据不同配置文件启动的redis服务也是不同的

  便于后期的测试,我们写一个启动的脚本,就把上面那一行命令复制到一个txt文件,然后修改文件后缀为.bat,以后只需要双击这个bat文件就能启动redis服务端,然后点击redis-cli.exe就能连接上了;

 

2.数据类型

  redis中有五种数据类型,分别是zset,set,list,hash和string,其实就是和java中那几种集合差不多

  下面我们分别看看这几种数据的用法;

  2.1 string

  字符串是最常用的数据类型了,操作的命令:

 

  set/get:存放/获取键值对

 

  getset: 首先获取key对应的值,并且覆盖原来的值;

 

  mset/mget: 可以一次性保存/获取多个键值对

 

  strlen: 获取键对应的值得长度

 

  append: 给键对应的值附加字符串,返回的是最终字符串的长度 

 

  getrange:字符串切割

 

  setex/psetex: 和set命令一样使用,只不过这里可以设置超时时间,时间过了就删除这个键值对,前者单位事秒,后者是毫秒

 

  setnx: 这个命令真的很重要!!!redis实现分布式锁就是基于这个命令的,当redis没有指定的key的时候,就存我们传进去的键值对;有指定key就啥也不干

 

 

  msetnx: 这是setnx强化版,可以同时设置多个键值对

 

  decr/incr: 自减一和自加一,就是i--和i++

  

  decrby/incrby: 上面的命令每次只能减一/加一,这个命令可以指定减数/加数

 

  2.2 list

  很多个人觉得这个list像java中的List<T>,其实我觉得像java中List<List<T>>这种类型才对,而且redis中的list可以从头部插入元素lpush,从尾部插入元素rpush

  特点:元素有序,可重复

 

 

 

  lpush:创建一个list,并每次从头部(或者说左边)向其中添加多个元素,元素可以重复

  lrange: 遍历list中所有元素

 

  rpush: 每次从尾部向list添加元素

 

  lpushx/rpushx: 向list添加元素之前,要保证这个list必须存在,用法和lpush/rpush一样;(这个x是exist的简写)

 

 

  lpop/rpop: 拿到头部/尾部元素,并删除list中对应的该元素

 

  llen: 获取指定list中元素的数量

 

 

  lset: 修改列表中指定位置的值

 

  lindex: 获取列表中指定位置的值

 

 

  lrem: 删除指定数量的重复元素

 

  ltrim:切割一部分的列表为我所用

 

 

  linsert: 从头到尾匹配到指定元素,在这个元素之前/之后 插入指定元素  ,下面的before是之前,用after是之后 

 

posted @ 2021-01-28 15:15  java小新人  阅读(688)  评论(0编辑  收藏  举报