1.1. redis键值操作

1.1.1. keys patten 查询相应的key

可以精确的查,也可以模糊的查

1.1.1.1. 通配符:* ? []

在redis里,模糊查询key的时候有3个通配符可以用:* ? []

* 通配任意多个字符

?通配单个字符

[] 通配[]内的某一个字符

127.0.0.1:6379> keys *

1) "site"

2) "animal"

127.0.0.1:6379> keys a*

1) "animal"

127.0.0.1:6379> keys site

1) "site"

127.0.0.1:6379> keys anima[len]

1) "animal"

127.0.0.1:6379> keys anima[enk]

(empty list or set)

注:*表示0或多个任意字符

1.1.1.2. keys * 获取所有的键值

设置值:

127.0.0.1:6379> set site www.baidu.com

OK

127.0.0.1:6379> set 'animal' 'cat'

OK

获取值:

127.0.0.1:6379> get 'animal'

"cat"

获取所有的键(key):

127.0.0.1:6379> keys *

1) "site"

2) "animal"

(若没有设置key,则返回:(empty list or set))

1.1.1.3. randomkey 返回随机key

127.0.0.1:6379> randomkey

"site"

127.0.0.1:6379> randomkey

"site"

127.0.0.1:6379> randomkey

"animal"

127.0.0.1:6379> randomkey

"site"

1.1.1.4. exists key 判断是否存在

注:如果key存在返回1;不存在返回0

127.0.0.1:6379> type name

string

127.0.0.1:6379> type age

string

127.0.0.1:6379> exists name

(integer) 1

127.0.0.1:6379> exists age

(integer) 1

127.0.0.1:6379> exists ag

(integer) 0

127.0.0.1:6379> exists n

(integer) 0

1.1.1.5. type key 返回key存储的值的类型

Key存储的值的类型有:string、link、set、order set、hash

127.0.0.1:6379> set 'name' 'tom'

OK

127.0.0.1:6379> set 'age' 20

OK

127.0.0.1:6379> type name

string

127.0.0.1:6379> type age

string

1.1.1.6. del key1 [key2 key3...keyn] 删除key

作用:删除一个或多个key(键)

返回值:返回真正删除的key的数量,不存在的key忽略掉

127.0.0.1:6379> keys *

1) "name"

2) "site"

3) "animal"

4) "age"

127.0.0.1:6379> del site

(integer) 1

127.0.0.1:6379> del animal

(integer) 1

127.0.0.1:6379> keys *

1) "name"

2) "age"

127.0.0.1:6379> exists site

(integer) 0

127.0.0.1:6379> exists animal

(integer) 0

127.0.0.1:6379> del a

(integer) 0

127.0.0.1:6379> del age cc

(integer) 1

1.1.1.7. rename key newkey 修改key的名字

作用:给key赋一个新的key名

注:如果newkey已存在,则newkey的原值被覆盖

127.0.0.1:6379> keys *

1) "name"

2) "age"

127.0.0.1:6379> rename age nianling

OK

127.0.0.1:6379> keys *

1) "nianling"

2) "name"

127.0.0.1:6379> exists age

(integer) 0

127.0.0.1:6379> get name

"tom"

127.0.0.1:6379> get nianling

"20"

127.0.0.1:6379> rename nianling name

OK

127.0.0.1:6379> keys *

1) "name"

127.0.0.1:6379> get name

"20"

1.1.1.8. renamenx key newkey 修改key的名字

作用:newkey不存在时,把key改名为newkey

返回值:修改时返回1;不修改时返回0

注:nx--->not exists,即newkey不存在时,做改名动作

127.0.0.1:6379> keys *

1) "name"

2) "age"

3) "a"

127.0.0.1:6379> renamenx age a

(integer) 0

127.0.0.1:6379> keys *

1) "name"

2) "age"

3) "a"

1.1.1.9. move key db

注:redis默认开启了16个数据库(可以通过修改配置文件进行修改)

redis安装目录(如:/usr/local/redis/)下的配置文件redis.conf中的:databases 16

127.0.0.1:6379> keys *   #默认用的是0号数据库

1) "name"

2) "age"

3) "a"

127.0.0.1:6379> select 1   #注:切换到1号数据库

OK

127.0.0.1:6379[1]> keys *

(empty list or set)

把0号数据库的key移动到1号数据库中:

127.0.0.1:6379[1]> select 0

OK

127.0.0.1:6379> keys *

1) "name"

2) "age"

3) "a"

127.0.0.1:6379> move age 1

(integer) 1

127.0.0.1:6379> keys *

1) "name"

2) "a"

127.0.0.1:6379> select 1

OK

127.0.0.1:6379[1]> keys *

1) "age"

1.1.2. key的生命周期:

memcached中的数据做缓存的,都有一个有效期(生命周期);redis中可以做存储(持久),也可以设置有效期

1.1.2.1. ttl key 查询key的生命周期

返回值:秒数

注:

不过期的key,返回-1

对于不存在的key、已过期的key,返回-2

127.0.0.1:6379> keys *

1) "name"

2) "a"

127.0.0.1:6379> ttl a

(integer) -1

127.0.0.1:6379> ttl cat

(integer) -2

127.0.0.1:6379> ttl c

(integer) -2

1.1.2.2. expire key整型值

作用:设置key的生命周期以秒为单位

注:pexpire key毫秒数设置生命周期

pttl key 以毫秒返回生命周期

127.0.0.1:6379> ttl a

(integer) -1

127.0.0.1:6379> expire a 2

(integer) 1

127.0.0.1:6379> get a

(nil)

127.0.0.1:6379> ttl a

(integer) -2

127.0.0.1:6379> expire a 9

(integer) 1

127.0.0.1:6379> ttl a

(integer) 6

127.0.0.1:6379> ttl a

(integer) 5

127.0.0.1:6379> ttl a

(integer) 4

1.1.2.3. persist key 设置key永久有效

作用:把指定key设置为永久有效

127.0.0.1:6379> expire age 15

(integer) 1

127.0.0.1:6379> ttl age

(integer) 12

127.0.0.1:6379> persist age

(integer) 1

127.0.0.1:6379> ttl age

(integer) -1

1.2. flushdb 清空当前数据库中所有的key

注:此命令从不失败,返回值:总是返回ok

127.0.0.1:6379> keys *

1) "name"

2) "age"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> keys *

(empty list or set)

redis键值操作的更多相关文章

  1. php数组键值操作和数组统计函数-函数

    1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_a ...

  2. php课程 4-17 数组键值操作函数有哪些

    php课程 4-17  数组键值操作函数有哪些 一.总结 一句话总结:多看学习视频 1.php中数组的键值操作函数有哪6个? • array_values();获取数组中的值• array_keys( ...

  3. redis 键值对 有效期设置

    redis 键值对 有效期设置redis中可以使用expire命令设置一个键的生存时间, 到时间后redis会自动删除它<-----> 类比于javaweb系统临时数据 过期删除功能 ex ...

  4. redis基础之基本键值操作和使用(三)

    前言 redis安装完毕后开始使用redis,先熟悉命令行操作. redis数据的类型 键:redis的所有的键都是string类型: 值:五种类型 string:字符串类型:一个string最大可以 ...

  5. 【redis常用的键值操作及性能优化】

    服务端 启动redis服务 { // -a:指定密码 -h:指定主机 -p:指定端口 } //让redis 服务中断崩溃 //保存和关闭 //后台备份 //设置登录密码 //redis-benchma ...

  6. python 对redis 键值对的操作

    我们可以将Redis中的Hashes类型看成具有String Key和String Value的键值对容器.类似python中的dict,javascript的jaon,java 的map,每一个Ha ...

  7. Redis 键值数据类型及基本操作

    到目前为止,Redis 支持的键值数据类型如下: 字符串(String) 哈希(Map) 列表(list) 集合(sets) 有序集合(sorted sets)   1. String 字符串类型 s ...

  8. 7.Redis键值对数据库

    1.Redis的安装以及客户端连接 安装:apt-get install redis-server 卸载:apt-get purge --auto-remove redis-server 启动:red ...

  9. Redis键值设计(转载)

    参考资料:https://blog.csdn.net/iloveyin/article/details/7105181 丰富的数据结构使得redis的设计非常的有趣.不像关系型数据库那样,DEV和DB ...

随机推荐

  1. VS2015 将*.xaml.cs文件包裹在*.xaml文件下

    原文:https://stackoverflow.com/questions/13387527/add-existing-xaml-files-to-visual-studio-2012 Right- ...

  2. JavaScript学习:取数组中最大值和最小值

    在实际业务中有的时候要取出数组中的最大值或最小值.但在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最 ...

  3. 关于浏览器对html, js,css的解析先后顺序的理解

    1.首先要了解页面的结构(包含哪些元素?哪些计算机语言能够在页面中运行 ) (1)html          不仅可以包含文字,还可以包含图片.链接,甚至音乐.程序等非文字元素的标记语言       ...

  4. ASP.NET Web Api 2 接口API文档美化之Swagger

    使用第三方提供的swgger ui 可有效提高 web api 接口列表的阅读性,并且可以在页面中测试服务接口. 但本人在查阅大量资料并进行编码测试后,发现大部分的swagger实例并不能有效运行.例 ...

  5. [BZOJ1977][BeiJing2010组队]次小生成树

    题解: 首先要证明一个东西 没有重边的图上 次小生成树由任何一颗最小生成树替换一条边 但是我不会证啊啊啊啊啊啊啊 然后就很简单了 枚举每一条边看看能不能变 但有一个特殊情况就是,他和环上的最大值相等, ...

  6. Asp.Net Mvc 返回类型总结

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  7. centos6.5上安装redis3.2.1遇见的坑

    解决方法: 安装gcc即可解决 解决方法: make MALLOC=libc 原因分析: 说关于分配器allocator, 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redi ...

  8. sentinel-dashboard安装、运行(ubuntu)

    下载页面https://github.com/alibaba/Sentinel/releases wget -P /opt/downloads https://github.com/alibaba/S ...

  9. Windows 下安装 Ubuntu 双系统(更新)

    Windows + Ubuntu 16.04 ---> 双系统 前言:本篇文章是对之前文章的更新,更新的主内容是把原来用手机拍摄的图片换成了虚拟机的截图,以及对磁盘划分的新的见解和一些使用感受, ...

  10. bind注意事项(传引用参数的时候)

    默认情况下,bind的那些不是占位符的参数被拷贝到bind返回的可调用对象中. 当需要把对象传到bind中的参数中时,需要使用ref或者cref. 例如: #include<iostream&g ...