Redis的String list(API)

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication(内置复制机制), Lua scripting(Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。), LRU(Least Recently Used最近最少使用策略) eviction (LRU回收机制) , transactions(事务) and different levels of on-disk persistence, and provides high availability via Redis Sentinel(Redis哨兵机制) and automatic partitioning(自动分区) with Redis Cluster.

BSD——Berkly Software Distribution开源协议是一个给予使用者很大自由的协议。基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。但"为所欲为"的前提当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。1979年加州大学伯克利分校发布了BSD Unix,被称为开放源代码的先驱,BSD许可证就是随着BSD Unix发展起来的。

  1. Redis主要数据结构

String 字符串

List 链表

Hash hash表

Set 集合

Zset 有序集合

String API

针对字符串操作

set key value [expiration EX seconds|PX milliseconds] [NX|XX]

NX:not exist 不存在就存入,相当于数据库中的插入操作

XX:exist 存在就存入,相当于数据库中的更新操作

mset key value[key value...]

multi set 一次性给多个key设置值

setnx key value

setnx:如果key不存在,那么久保存->相当于数据库中的插入操作 set key value nx相同的作用

setex key seconds value

setex:设置key的值并且同时设置失效时间(控制缓存时间)

get key

mget key[key...]

 

针对数字操作

incrby key increment

decrby key decrement

incr key 

decr key 

String API https://www.cnblogs.com/xinhuaxuan/p/9250680.html

set

mset

msetnx

mget

setnx

setex

psetex

Setrange命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。下标从0开始】

Setrange key offset value

Append:追加,在元素后面(右尾)加

getrange

 

0 1 2 n

 

 

 

 

 

 

-n -2 -1

 

Getrange key 1 -2 //去掉头尾的整个内容

 

getset:得到原来的值,赋予新的值

 

Strlen:长度

Incr:在原来的int数据加一

decr:在原来的int数据减一

incrby:在原来的int数据加n

Incrbyfloat:在原来的int数据加浮点型

decr:在原来的int数据减一

Decrby:在原来的int数据减n

setbit:8

二进制  00001000

Bitcount:得到二进制中有几个1

 常用key API

flushall 清除所有key

keys 

keys pattern

Keys 1? 获取以1开头的长度为2的所有key

Keys 1* 获取以1开头的所有key

keys [0-9][A-z][0-9] 获取长度为3首位都是数字中间一个字母的所有key

expire

expire key seconds 设置key的失效时间,单位是s 所有redis的数据结构的key

pexpire

pexpire key milliseconds 设置key的失效时间 单位是ms 所有redis的数据结构的key

 

persist

Persist key 让key永久有效,主要是在key被操作了expire/pexpire

ttl key ->time to live 存活时间 :对所有的数据类型都有效->查询key离消亡还有多少秒

pttl key ->查询key离消亡还有多少毫秒

del

Del key [key...] 删除存在的key,其中有不存在的key也不会报错,有什么删什么

type 

Type key 获取key的类型

Rename 

Rename key1 key2 将key1 修改成key2,key1不存在了

 

Exists

Exists key [key...] 获取存在的key的数量

randomkey 没有参数,返回随机的key,抽奖,可以重复中奖

 

List API

列表常见操作

lpush key value [value...]

lpushkey value [value...]

lpop key

rpop key

lrange key start stop

 

blpop key [key...] timeout

brpop key [key...] timeout

List API https://www.cnblogs.com/xinhuaxuan/p/9252111.html

Lpush向集合从左边开始推送数据

Lpush key value...

Rpush :向集合从右边开始推送数据

Rpop:从右边开始删除(一次命令删除一个),弹出值

lpop:从左边开始删除(一次命令删除一个),弹出值

Lrange区间查询从左开始1-n 从右开始-1- -n

Lrem:lrem key count value 删除数据(count -n)

Ltrim:保留指定索引区间的元素 

Lindex:获取指定索引的值

llen:获取list中元素的个数

linsert:插入元素,格式是:linsert list的key before|after 定位查找的值 添加的值

rpoplpush:将元素从一个列表转移到另外一个列表,格式是:rpoplpush 源list的key值 目的list的key值 从一个列表右边的值移动到另一个列表的左边

Brpoplpush:将元素从一个列表转移到另外一个列表,格式是:brpoplpush 源list的key值 目的list的key值 过期时间

blpop/brpop:弹出值,格式是:blpop list的key值 过期时间。(key可以是多个,如果没有值,会一直等到有值,直到过期)

你可能感兴趣的:(Redis的String list(API))