Redis 常用命令以及使用事务、设置key超时
来源:互联网 发布:游戏编程 培训机构 编辑:程序博客网 时间:2024/06/05 09:47
Redis 中的事务
使用MULTI与EXEC之间之间执行多个操作来处理一个事务:
更多精彩请阅读 东陆之滇的csdn博客:http://blog.csdn.net/zixiao217
127.0.0.1:6379> MULTIOK127.0.0.1:6379> SADD key elementQUEUED127.0.0.1:6379> LPUSH helper_key xQUEUED127.0.0.1:6379> EXEC1) (integer) 12) (integer) 1
MULTI开启事务(开启成功返回OK),MULTI与EXEC之间的多个操作仅仅是暂时缓存起来(我们可以看到返回为QUEUED),直到执行EXEC时,提交事务。
Redis 超时(TTL):数据在限定时间内存活
Redis可以expire对键设置生命周期TTL:
/*先存入数据到list中*/127.0.0.1:6379> lpush ttlTestList ttl(integer) 1/*再设置超时时间(为5秒失效)*/127.0.0.1:6379> expire ttlTestList 5(integer) 1
5秒后获取元素为空:
127.0.0.1:6379> lpop ttlTestList(nil)
我们看到超时时间一过,ttlTestList键被删除了
127.0.0.1:6379> keys *1) "zset"2) "set"3) "helper_key"4) "mylist"5) "user"6) "mykey"7) "relList"
上面的例子使用了EXPIRE来设置超时时间(也可以再次调用这个命令来改变超时时间,使用PERSIST命令去除超时时间 )。
使用ttl:
127.0.0.1:6379> lpush ttlTestList ttl(integer) 1/*设置超时时间为10秒*/127.0.0.1:6379> expire ttlTestList 10(integer) 1/*使用ttl查看剩余存活时间*/127.0.0.1:6379> ttl ttlTestList(integer) 5
KEYS 命令
keys pattern 可以查看所在数据库中符合pattern匹配模式的键,pattern通配符:
127.0.0.1:6379[1]> keys list?1) "list1"
注意: keys会便利数据库的所有键,如果键数量较大,不建议在生产使用.
EXISTS 命令
exists 用于判断某个键是否存在,存在返回1,否则返回0.
127.0.0.1:6379[15]> keys *1) "testKey"127.0.0.1:6379[15]> exists testKey(integer) 1127.0.0.1:6379[15]> exists testKey2(integer) 0
DEL 命令
del 用于删除一个或多个键,del key [key2…],返回值是删除的键的个数:
127.0.0.1:6379[15]> del testKey(integer) 1/*因为之前已经删除testKey键了,再使用del操作时,实际上并没有删除任何键,于是返回0*/127.0.0.1:6379[15]> del testKey(integer) 0
SELECT 命令
Redis 的数据库默认存在编号为0-15的共计16个数据库实例,可以通过设置databases参数修改这个默认设置。我们可以使用SELECT命令选择使用指定的数据库:
/*选择使用数据库1*/127.0.0.1:6379[1]> select 1OK/*在数据库1中设置一个键*/127.0.0.1:6379[1]> lpush list1 ele1(integer) 1127.0.0.1:6379[1]> keys *1) "list1"
切换数据库0,在数据库0中是看不到数据库1中的键的:
/*切换到数据库0*/127.0.0.1:6379[1]> select 0OK/*数据库0中无键*/127.0.0.1:6379> keys *(empty list or set)
FLUSHALL 命令
flushall 命令会清除所有数据库实例的键值数据(默认配置的话数据库0-15会全删除)。恨他,就用flushall来对付他吧。
TYPE 命令
type 命令用来获取键的类型,返回值可能是 string(字符串类型),list(列表类型),set(集合类型),hash(散列类型),zset(有序集合类型)
RANDOMKEY
randomkey 可以随机获取当前数据库中的一个键。
127.0.0.1:6379> select 0OK127.0.0.1:6379> keys *1) "strkey4"2) "setKey"3) "code_list1"4) "foo"5) "strkey3"6) "strkey27"7) "strkey6"8) "strkey5"127.0.0.1:6379> randomkey"strkey4"127.0.0.1:6379> randomkey"setKey"127.0.0.1:6379> randomkey"strkey3"127.0.0.1:6379> randomkey"strkey4"127.0.0.1:6379> randomkey"strkey6"
RENAME 重命名键名
rename oldKeyName newKeyName 将oldKeyName 键改名为newKeyName。
127.0.0.1:6379> keys *1) "strkey4"2) "setKey"3) "code_list1"4) "foo"5) "strkey3"6) "strkey27"7) "strkey6"8) "strkey5"127.0.0.1:6379> rename setKey setKey88OK127.0.0.1:6379> keys *1) "strkey3"2) "foo"3) "code_list1"4) "strkey5"5) "strkey6"6) "strkey4"7) "setKey88"8) "strkey27"
MOVE
move 命令可以将一个数据库中的键移动到另一个数据库中:
/*数据库0中的key*/127.0.0.1:6379> keys * 1) "counter:__rand_int__" 2) "key:__rand_int__" 3) "strkey3" 4) "code_list1" 5) "strkey5" 6) "strkey6" 7) "strkey4" 8) "setKey88" 9) "mylist"10) "strkey27"
/*数据库1中无key*/127.0.0.1:6379> select 1OK127.0.0.1:6379[1]> keys *(empty list or set)
/*移动0中的key到1中*/11) "strkey27"127.0.0.1:6379> move foo 1(integer) 1127.0.0.1:6379> keys * 1) "counter:__rand_int__" 2) "key:__rand_int__" 3) "strkey3" 4) "code_list1" 5) "strkey5" 6) "strkey6" 7) "strkey4" 8) "setKey88" 9) "mylist"10) "strkey27"
/*查看1中,可以看到刚刚移动过来的key:foo*/127.0.0.1:6379[1]> keys *1) "foo"
- Redis 常用命令以及使用事务、设置key超时
- redis 删除超时key
- System.Transactions事务超时设置
- 关于redis使用set时设置超时时间的问题
- 关于redis使用set时设置超时时间的问题
- redis 超时失效key 的监听触发
- redis设置key过期时间
- redis的常用命令以及队列的简单使用
- Redis常用命令(1)——Key
- Redis常用命令-通用key-value操作
- 使用python设置超时
- 针对多个Redis key使用事务方式同步修改时引发的问题
- 设置事务锁的超时时间
- redis 事务以及乐观锁
- Redis事务使用
- Redis事务使用总结
- redis--事务--简单使用
- Redis常用命令以及代码实例
- 缓存小结
- 快速理解设计模式之创建型设计模式(上)
- 如何获取显示器的EDID信息
- Git命令之 分支操作
- VIM 小记 内含多个内容
- Redis 常用命令以及使用事务、设置key超时
- Spring-MVC第二弹数据库链接
- java数组排序方法笔记
- GCC编译优化指南
- GCOV 用法
- 100 个 Linux 常用命令大全(下)
- CPU如何操作内存?
- C#_ImageList和ListView的使用
- CFI support for GNU assembler (GAS)