`
chekl
  • 浏览: 1002 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

redis通用操作

阅读更多

 

一  redis 通用的命令,主要是针对key的增删改查,移动,设置有效期等操作。

set  age  28  --添加key

get  age  --取出key

 

1 查看有哪些键值对

keys    *  --当前有哪些key

keys    s* --模糊查询,key值是s开头的

keys    sit[ey]  --模糊查询,匹配前面是sit并且第四位是 e或y的键

keys    sit?e    --模糊查询,查询sit开头,第四位未知,第5位是e的key

 

2 返回随机的key

random  key  --例如运用于抽奖

3  type  age     --看age是什么类型的

4 exists  age  --看名字叫age的键是否存在,如果存在返回1

5 del age  --删除名字叫age的key

6 rename  age   ages  --将age改名为ages

7  renamenx  age  ages --nx是not exists的意思,当修改的名字ages在系统中不存在,才会修改成功。

rename 修改的名字ages如果再系统中存在,那么会覆盖原来的内容。

 

8 移动:

redis默认安装后有16个数据库,我们的命令行窗口,默认操作的是0号数据库,如果想把在0号数据库

刚刚建的key移动到1号数据库,命令如下

move age 1  --移动到1号库

select  1    --切换到1号数据库

get  age  --查询key

 

9  在memcached中有生命周期的概念,在redis中默认新建的key都是长久有效的状态,如何给新建的key加上生命周期呢,代码如下。

ttl  age --查询age的生命周期, 返回值 当查询的建不存在或者永久有效时候,返回的都是-1,如果不是长久有效,返回的是对应的秒数。

expire  key   100  --设置key的生命周期为100s

pttl  age  --查看key的生命周期,以毫秒方式返回

persist  key --设置key的生命周期为长久有效。

 

二 :redis字符串操作

 

1 flushdb  --冲刷掉库中的所有 key

2 set  age  28  ex 10/ px  1567    --初始key时候设置生命周期,ex

set key value [ex 秒数] / [px 毫秒数]  [nx] /[xx]

 

: set a 1 ex 10 , 10秒有效

Set a 1 px 9000  , 9秒有效

: 如果ex,px同时写,以后面的有效期为准

set a 1 ex 100 px 9000, 实际有效期是9000毫秒

 

nx: 表示key不存在时,执行操作

xx: 表示key存在时,执行操作

 

3  mset key  value key1 value1 --设置多个key和value

例如 mset a 1 b 2 c 3

4 mget key key1 --连续取出多个value

例如 mget a b c

 

5 修改value中某一位的值

setrange key offset value

作用:把字符串的offset偏移字节,改成value

redis 127.0.0.1:6379> set greet hello

OK

redis 127.0.0.1:6379> setrange greet 2 x   --不hello第二位的l改查x

(integer) 5

redis 127.0.0.1:6379> get greet

"hexlo"

 

6 append  word  aa --追加,在key是word的value后面追加aa

 

7  获取value的一小部分

getrange area  1 4  --获取名字为area的key对应的value的 1到4 位

getrange area  0 -4  --获取名字为area的key对应的value的 0为到 倒数4位

 

8 getset key newvalue --获取旧值,覆新值

例如  set name  chekl

getset name cheklone

--输出 chekl 并且name对应的value改成cheklone

 

9 set  age 29

incr age --输出值30,自增1

decr age --输出值28,自减1

incrby  age 5 --自增5

 

 例子:把随机的A-Z 任意字母,转换成对应的小写字母

set  char  A

setbit  char 2   1 -- setbit是将A转换成相应的ascli码,A是65  对应的2进制数是 01000001

a 对应是97  二进制数是 01100001  如果将A转换成a,只需要将二进制中左数第二位的0 置换成1 就行。

 

 

 三 link 操作

lpush  character  a--从左侧向link表中插入  a

rpush  character b--从右侧向名字是character的link表插入  b,

rpush   character  c--从右侧插入c

lrange character 0 -1 --查看link表character中的所有内容,输出结果是 a b c

lrange  character  1  2--查看link表中从1开始,2位,输出结果是 b c,因为下标从0开始

 

2  从左右2边弹出值

lpop character --弹出最左边的a

lrange character 0 -1   --此时查看,链表中的值只剩下 b c

rpop character --弹出最右边的  c

lrange character 0 -1   --此时查看,链表中的值只剩下 b

 

3 删除

lpush  character  a  b c  a b  d  a

lrem  character  1  b  --从左到右顺序,删除第一次出现的b

lrange character 0 -1   --此时查看,链表中的值只剩下 a  c  a b d a

lrem character -2  a  --从链表尾部删除 a

 

4 剪切

rpush cha  a b c d e f

lrange cha  0 -1  --查看

ltrim  cha 2  5  --剪切从2到5  ,执行结果是 c d e f

ltrim  cha 1  -2  --从后往前截,执行结果是  d e

5  取其中某一个

lindex cha  1 --取第一个

6 查看链表长度

llen cha

 

7 linsert命令,在链表中查找值并插入

rpush  num  1  3  5  7  9

linsert  num before 3 2       --插入2 在3 的前面

linsert num after 9  10  --在9后面插入10

如果存在link 值是 1 3 5 9 9存在2个9的情况,那么执行结果为 1 3 5 9 10 9 只会在第一次出现的符合

条件的值后面执行操作,执行一次就会结束。

8 rpoppush 右边弹出,左边塞入

例如 链表task

rpush task a b c d

rpoppush task job  --把task链表中的最右侧d 放入链表job中。

 

总结:主要对link链表的操作,主要功能有新建链表,从左侧或右侧插入值,查询整个链表中内容,查看链表

长度,从左右弹出值,删除和剪切链表,最后对2个链表就行右边弹出左边塞入的操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    java redis 各类型操作实例

    java 对redis各类型的操作,maven管理项目。

    Redis 调用操作类 与 调用说明,上手就能用

    PHP 使用 Redis 数据库, 调用操作类 与 调用说明,上手就能用,PHP 使用 Redis 数据库, 调用操作类 与 调用说明,上手就能用

    ServiceStack.Redis操作工具类

    c#版本ServiceStack.Redis操作工具类

    02-redis通用key操作命令.wmv

    redis使用如何获取之中值信息,redis使用如何获取之中值信息

    通用redis命令【重点】

    通用redis命令【重点】1、redis-LinkedList【重点】为什么redis选取了链表? Redis操作中,最多的操作是进行元素的增删 使用环境:①做大数据集合的增删 ②任务队列

    .net,C#实现操作Redis的案例

    用C#/.net实现的对Redis的操作,可以对Redis进行增删改查 代码简洁,命名规范,方便阅读 安装了Redis服务后,默认端口6379,即可运行程序查看效果,用vs2015实现的功能

    封装StackExchange.Redis

    把redis几种存储的操作分别封装在一个类中;分别增加了单例以及共享控制;同时为服务端程序增加了配置及自动关闭策略,都很简单,共享出来希望能够为大家提供帮助;RedisClietProxy为主要类,创建该类实例,使用里面...

    PHP实现的Redis操作通用类示例

    主要介绍了PHP实现的Redis操作通用类,结合实例形式分析了php实现的redis连接、队列、集合、hash表、事务等相关操作封装技巧,需要的朋友可以参考下

    phpredis-develop.zip

    phpredis-develop.zip,redis客户端,安装在php一侧。新测可用,已测试php5、php7.redis5及redis6.0. windows, linux操作系统使用,通用版

    Linux下C++操作mysql和redis数据库的封装

    包含了mysql常用的增删改查操作,支持容器数据添加,各种模板数据添加,支持单行增加删除,单行数据修改,多行数据增加删除,多行数据修改,清空表格,多条件查询,多条件删除等等很多便捷的操作,插入和删除数据快...

    Redis V3.0 中文文档

    列表的通用场景(Common use cases) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 上限列表(Capped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

    Redis/MongoDB 接口封装(C++)

    5. 开发 AbstractMongodbModule 类处理通用的 MongoDB 数据库表数据操作 数据库中不同的表都有自己的 AbstractMongodbModule 子类对应 6. 用 Perl 开发自动代码生成器,上层程序员对照数据库表结构写 .tmpl 配置...

    Redis 3.0 中文版 - v1.1.pdf

    列表的通用场景(Common use cases) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 上限列表(Capped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

    2019年 Redis从入门到高可用 分布式实战教程

    2-2通用命令.mp4 2-11 zset.mp4 2-10 set.mp4 13-1 _课程总结.mp4 12-7 运维功能.mp4 12-6 用户功能.mp4 12-5 应用接入.mp4 12-4 机器部署.mp4 12-3 _快速构建.mp4 12-2 _Redis规模化困扰.mp4 12-1 _目录....

    springboot RedisTemplate 对string-value操作

    spring boot redis RedisTemplate和ValueOperations对 string-value的操作 参照redisdoc文档的方法进行 打造 http://redisdoc.com/ 与文档中string对应 写出通用接口 与实现类 完整demo连接 //配置缓存 和序列化...

    Redis配置文件redis.conf详解

    Linux下的配置文件单独考拷贝出来进行操作,这是一个好习惯! Units单位: 配置大小单位,开头定义了一些基本的度量单位只支持bytes,不支持bit 对大小写不敏感 INCLUDES包含: 和Struts2配置文件类似,可以通过...

    redis-geo:Redis GEO查找最近的美国城市示例

    如果Redis尚未将其巩固为尊敬的Swiss-Army-Knife组件,那么最新的3.2.0版本将使其更加通用,并通过新的功能对其进行增强。 为了最简单地演示此新功能,Redis GEO App可让您在美国任何地方单击以找到给定半径内最近...

    rediscache:用于在 redis 中缓存内容的小库(通过 go-redis)

    将某种 ID 转换为 Redis 密钥尝试从Redis获取值如果从缓存中丢失,计算该值并将其设置在 Redis 中将结果字符串转换为可用的东西这是执行上述操作的通用方法,受 groupcache 和标准 JSON 包的启发。用法 // Cache ...

    第一套、Redis入门视频.zip

    redis入门,主要讲解redis特点及安装、通用key操作、数据结构及使用、rdb快照和aof日志持久化

Global site tag (gtag.js) - Google Analytics