Redis的基本数据操作命令(一)
来源:互联网 发布:最难防范的网络攻击是 编辑:程序博客网 时间:2024/06/05 16:41
一 String类型
1 set
设置key对应的值。
set name Diamond
2 setnx
设置key的值,如果key已存在,返回0。nx为not exist的意思。
127.0.0.1:6379> setnx name Fox(integer) 0
3 setex
设置key的值,并设置key的存活时间。
127.0.0.1:6379> setex age 10 24OK127.0.0.1:6379> get age"24"127.0.0.1:6379> get age(nil)
4 setrange
设置key的指定位置的值
127.0.0.1:6379> set email Diamond@126.comOK127.0.0.1:6379> setrange email 8 gmail.com(integer) 17127.0.0.1:6379> get email"Diamond@gmail.com"
5 mset
一次设置多个key的值。成功返回ok表示所有值都被设置,失败返回0表示没有任何值被设置。
127.0.0.1:6379> mset name1 Alex name2 Bob name3 Candy OK
6 msetnx
一次设置多个key的值,如果key已存在,则返回0,不会覆盖已存在的key的值,也就是会回滚,所有操作都不被执行。如果成功返回ok。
127.0.0.1:6379> msetnx name1 Diamond name4 Fox(integer) 0127.0.0.1:6379> get name1"Alex"127.0.0.1:6379> get name4(nil)
7 get
获取指定key的值
127.0.0.1:6379> get name1"Alex"
8 getset
设置key的值,并返回key的旧值。如果key不存在,返回nil。
127.0.0.1:6379> getset name1 Diamond"Alex"
9 getrange
获得指定位置的值。负数为从后面开始,如果指定位置大于长度,则返回最后。
127.0.0.1:6379> get email"Diamond@gmail.com"127.0.0.1:6379> getrange email 0 6"Diamond"127.0.0.1:6379> getrange email -9 -1"gmail.com"127.0.0.1:6379> getrange email 7 100"@gmail.com"
10 mget
一次获得多个值,如果不存在,返回nil。
127.0.0.1:6379> mget name1 name2 name3 name41) "Diamond"2) "Bob"3) "Candy"4) (nil)
11 incr
对key的值加1,也就是做++操作。操作一个不是int的值会返回错误。incr一个不存在的key会设置key为1。
127.0.0.1:6379> set age 24OK127.0.0.1:6379> get age"24"127.0.0.1:6379> incr age(integer) 25127.0.0.1:6379> get age"25"
12 incrby
对key的值加指定的数。key不存在,则设定key=指定的数。
127.0.0.1:6379> get age"25"127.0.0.1:6379> incrby age 5(integer) 30127.0.0.1:6379> get age"30"127.0.0.1:6379> incrby age1 5(integer) 5127.0.0.1:6379> get age1"5"
13 decr
减去1,执行–操作。key不存在,设为-1。
127.0.0.1:6379> get age1"5"127.0.0.1:6379> decr age1(integer) 4127.0.0.1:6379> get age1"4"
14 decrby
减去指定的值。
127.0.0.1:6379> get age1"4"127.0.0.1:6379> decrby age1 2(integer) 2127.0.0.1:6379> get age1"2"
15 append
给指定的key追加value,返回value的长度。
127.0.0.1:6379> get name1"Diamond"127.0.0.1:6379> append name1 @gmail.com(integer) 17127.0.0.1:6379> get name1"Diamond@gmail.com"
16 strlen
返回key的长度。
127.0.0.1:6379> get name1"Diamond@gmail.com"127.0.0.1:6379> strlen name1(integer) 17
二 Hashes类型
主要用来存储对象类型。
1 hset
设置hash field为指定值,不存在则创建。
127.0.0.1:6379> hset myhashtest field1 Hello(integer) 1
2 hsetnx
设置hash field的值,如果已存在返回0。
127.0.0.1:6379> hsetnx myhashtest field "hello"(integer) 1127.0.0.1:6379> hsetnx myhashtest field "hello"(integer) 0
2 hsetnx
同时设置key的多个field与值。
127.0.0.1:6379> hmset message name Diamond age 24 sex genderOK
3 hget
获取指定key的field的值。(对象字段的值)
127.0.0.1:6379> hget message name"Diamond"
4 hmget
获取全部指定的 key field的值。
127.0.0.1:6379> hmget message name age sex1) "Diamond"2) "24"3) "gender"
5 hincrby
给指定的field加上指定的值。
127.0.0.1:6379> hincrby message age 3(integer) 27127.0.0.1:6379> hget message age"27"
6 hexists
判断指定field是否存在
127.0.0.1:6379> hexists message age(integer) 1
7 hlen
返回指定key的field数。
127.0.0.1:6379> hlen message(integer) 3
8 hdel
删除指定key的field。
127.0.0.1:6379> hdel message age(integer) 1127.0.0.1:6379> hlen message(integer) 2
9 hkeys
返回key的所有field
127.0.0.1:6379> hkeys message1) "name"2) "sex"
10 hvals
返回key的所有value。
127.0.0.1:6379> hvals message1) "Diamond"2) "gender"
11 hgetall
返回所有的field和value。
127.0.0.1:6379> hgetall message1) "name"2) "Diamond"3) "sex"4) "gender"
三 list类型操作
list是一个链表结构,理解为链表的名字。
1 lpush
在key的头部添加元素。
127.0.0.1:6379> lpush listtest Diamond(integer) 1127.0.0.1:6379> lpush listtest Fox(integer) 2127.0.0.1:6379> lpush listtest Alex(integer) 3127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"
2 rpush
在list的尾部添加元素。
127.0.0.1:6379> rpush listtest Jam(integer) 4127.0.0.1:6379> rpush listtest jone(integer) 5127.0.0.1:6379> rpush listtest LuLu(integer) 6127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "LuLu"
3 linsert
在指定位置的前或后插入数据
127.0.0.1:6379> linsert listtest before LuLu Auke(integer) 7127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "Auke"7) "LuLu"127.0.0.1:6379> linsert listtest after Jone Miss(integer) -1127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "Auke"7) "LuLu"
4 lset
设置指定位置的元素的值。
127.0.0.1:6379> lset listtest 0 AdellOK127.0.0.1:6379> lrange listtest 0 -11) "Adell"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "Auke"7) "LuLu"
5 lrem
删除和指定value相同值的元素。删除count个。count小于0时,从尾部开始删除。count=0时,全部删除。
127.0.0.1:6379> lrem listtest 2 Adell(integer) 1127.0.0.1:6379> lrange listtest 0 -11) "Fox"2) "Diamond"3) "Jam"4) "jone"5) "Auke"6) "LuLu"
6 ltrim
保留指定区间内的元素。
127.0.0.1:6379> lrange listtest 0 -11) "Fox"2) "Diamond"3) "Jam"4) "jone"5) "Auke"6) "LuLu"127.0.0.1:6379> ltrim listtest 1 -1OK127.0.0.1:6379> lrange listtest 0 -11) "Diamond"2) "Jam"3) "jone"4) "Auke"5) "LuLu"
7 lpop
从list的头部删除元素。
127.0.0.1:6379> lrange listtest 0 -11) "Diamond"2) "Jam"3) "jone"4) "Auke"5) "LuLu"127.0.0.1:6379> lpop listtest"Diamond"127.0.0.1:6379> lrange listtest 0 -11) "Jam"2) "jone"3) "Auke"4) "LuLu"
8 rpop
从尾部删除元素。
127.0.0.1:6379> lrange listtest 0 -11) "Jam"2) "jone"3) "Auke"4) "LuLu"127.0.0.1:6379> rpop listtest"LuLu"127.0.0.1:6379> lrange listtest 0 -11) "Jam"2) "jone"3) "Auke"
9 rpoplpush
从第一个list删除元素,添加到第二个list的头部。操作是原子性的。第一个list为空返回nil。
127.0.0.1:6379> lrange listtest2 0 -11) "4"2) "3"3) "2"4) "1"127.0.0.1:6379> rpoplpush listtest listtest2"Auke"127.0.0.1:6379> lrange listtest2 0 -11) "Auke"2) "4"3) "3"4) "2"5) "1"
10 lindex
返回list指定index的值。
127.0.0.1:6379> lindex listtest2 0"Auke"
11 llen
返回指定list的长度。
127.0.0.1:6379> llen listtest2(integer) 5
- Redis的基本数据操作命令(一)
- redis基本操作命令(一)
- Redis命令(一)基本keys操作命令
- Redis命令一:基本操作篇
- Redis基本命令(一)
- redis基本操作命令
- redis基本操作命令
- redis基本操作命令
- redis基本操作命令
- redis基本操作命令
- Redis常用的命令(二)------key的基本操作
- redis基本命令:一
- redis的基本类型及操作命令
- Redis 基本操作一
- Redis初探&基本命令(一)
- Redis 数据操作命令
- Linux基础命令的操作(一)之基本操作
- redis基础一(基本操作)
- java中的深拷贝和浅拷贝
- 常用meta整理
- 使用SpringMV自带的CommonsMultipartFile实现图片上传功能
- linux find命令及其应用方法
- Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解
- Redis的基本数据操作命令(一)
- iconv字符编码转换全攻略
- Linux网络命令--write和wall命令
- sorted array consisted of squares of input integers
- ios SBJson4.x解析json数据。
- android 5.0之后原生webview同时用https和http加载HTML不加载图片解决方案
- POJ-2631 Roads in the North(最大路径)
- hdu 1166
- spring+mybatis整合