Redis学习笔记(一)五种数据类型
2018-06-17 20:03:01来源:未知 阅读 ()
1、字符串(String)
基本操作:SET(设置)、GET(获取)、DEL(删除)其他操作传送门
root@localhost:~# redis-cli 127.0.0.1:6379> set msg hello OK 127.0.0.1:6379> get msg "hello" 127.0.0.1:6379> del msg (integer) 1 127.0.0.1:6379> get msg (nil)
2、列表(List)
基本操作:LPUSH/RPUSH(将元素推入列表左端/右端)、LPOP/RPOP(从列表左/右弹出元素)、LINDEX(获取指定位置上的元素)、LRANGE(获取指定范围内的元素)、LTRIM key_name index1 index2(修剪,只保留范围内元素,包括起止元素)其他操作传送门
root@localhost:~# redis-cli 127.0.0.1:6379> rpush list 5 (integer) 1 127.0.0.1:6379> rpush list 6 (integer) 2 127.0.0.1:6379> lpush list 4 (integer) 3 127.0.0.1:6379> lrange list 0 -1 #可以用来获取当前列表中所有元素 1) "4" 2) "5" 3) "6" 127.0.0.1:6379> lpop list "4" 127.0.0.1:6379> rpop list "6" 127.0.0.1:6379> lindex list 0 "5" 127.0.0.1:6379> lindex list 1 (nil) 127.0.0.1:6379> lrange list 0 -1 1) "5" 127.0.0.1:6379> get list (error) WRONGTYPE Operation against a key holding the wrong kind of value 127.0.0.1:6379> del list (integer) 1 127.0.0.1:6379> lrange list 0 -1 (empty list or set) 127.0.0.1:6379> rpush list 0 1 2 3 (integer) 4 127.0.0.1:6379> lrange list 0 -1 1) "0" 2) "1" 3) "2" 4) "3" 127.0.0.1:6379> ltrim list 1 -1 OK 127.0.0.1:6379> lrange list 0 -1 1) "1" 2) "2" 3) "3"
3、集合(Set)
集合与列表的不同之处在于,集合储存的元素是无序且各不相同的。
基本操作:SADD(添加元素)、SREM(移除元素)、SISMEMBER(给定元素是否在集合中)、SMEMBERS(返回集合中所有元素)、SCARD(获取集合内元素数量)、SRANDMEMBER key_name [count](随机返回1[count]个元素,count为正数时,元素不会重复,为负数时,元素可能重复多次)、SPOP(随机移除并返回某个元素)、SMOVE key1 key2 item(如果key1中存在item,则将item加入key2并移除key1中的item)其他操作传送门
root@localhost:~# redis-cli 127.0.0.1:6379> sadd set 7 (integer) 1 #返回添加元素中原本set中没有的元素数量 127.0.0.1:6379> sadd set 7 (integer) 0 127.0.0.1:6379> sadd set 8 9 (integer) 2 127.0.0.1:6379> smembers set 1) "7" 2) "8" 3) "9" 127.0.0.1:6379> sismember set 1 (integer) 0 127.0.0.1:6379> sismember set 7 (integer) 1 127.0.0.1:6379> srem set 7 (integer) 1 127.0.0.1:6379> smembers set 1) "8" 2) "9" 127.0.0.1:6379> srem set 1 (integer) 0 127.0.0.1:6379> scard set (integer) 2 127.0.0.1:6379> srandmember set "8" 127.0.0.1:6379> srandmember set -5 1) "9" 2) "8" 3) "9" 4) "9" 5) "8" 127.0.0.1:6379> srandmember set 5 1) "8" 2) "9" 127.0.0.1:6379> srandmember set 0 (empty list or set) 127.0.0.1:6379> spop set "9" 127.0.0.1:6379> smembers set 1) "8" 127.0.0.1:6379> smove set set2 9 (integer) 0 #SMOVE成功返回1,失败返回0 127.0.0.1:6379> smove set set2 8 (integer) 1 127.0.0.1:6379> smembers set2 1) "8" 127.0.0.1:6379> smembers set (empty list or set)
4、散列(hash)
散列储存多个键值对之间的映射,显然键需要各不相同。
Redis不支持嵌套,故散列嵌套只能间接实现。
基本操作:HSET/HMSET(关联给定的键值对/多个键值对)、HGET/HMGET(获取给某个/多个定键的值)、HGETALL(获取所有键值对)、HDELL(删除给定键的键值对)、HLEN(获得键值对数量)其他操作传送门
root@localhost:~# redis-cli 127.0.0.1:6379> del hash (integer) 1 127.0.0.1:6379> hset hash a 1 (integer) 1 127.0.0.1:6379> hmset hash b 2 c 3 OK 127.0.0.1:6379> hget hash a "1" 127.0.0.1:6379> hget hash e (nil) 127.0.0.1:6379> hmget hash a e 1) "1" 2) (nil) 127.0.0.1:6379> hgetall hash 1) "a" 2) "1" 3) "b" 4) "2" 5) "c" 6) "3" 127.0.0.1:6379> hdel hash a b (integer) 2 127.0.0.1:6379> hgetall hash 1) "c" 2) "3" 127.0.0.1:6379> hdel hash a (integer) 0 127.0.0.1:6379> hlen hash (integer) 1
5、有序集合(Sorted Set)
有序集合储存键值对,其中,键必须各不相同,称为成员(member),值须为浮点数,称为分数(score)
基本操作:ZADD(添加带分数的成员或更新成员的分数)、ZRANGE/ZREVRANGE [WITHSCORES](根据给定的位置,获取按分数升序/降序排列的有序集合中的成员[分数])、ZRANGEBYSCORES/ZREVRANGEBYSCORES [WITHSCORES](获取有序集合在给定分数范围内的成员[分数])、ZREM(移除成员)其他操作传送门
root@localhost:~# redis-cli 127.0.0.1:6379> zadd zset 110 i1 (integer) 1 127.0.0.1:6379> zadd zset 10 i2 200 i3 (integer) 2 127.0.0.1:6379> zrange zset 0 -1 1) "i2" 2) "i1" 3) "i3" 127.0.0.1:6379> zrange zset 0 -1 withscores 1) "i2" 2) "10" 3) "i1" 4) "110" 5) "i3" 6) "200" 127.0.0.1:6379> zrangebyscore zset 0 150 withscores 1) "i2" 2) "10" 3) "i1" 4) "110" 127.0.0.1:6379> zrem zset i1 (integer) 1 127.0.0.1:6379> zrangebyscore zset 0 150 withscores 1) "i2" 2) "10"
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:数据库架构演变概要
- Python学习日记(十) 生成器和迭代器 2019-08-13
- python学习-53 正则表达式 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python之对象持久化笔记 2019-08-13
- python爬虫学习之爬取超清唯美壁纸 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash