Redis学习
来源:互联网 发布:js ul li点击显示隐藏 编辑:程序博客网 时间:2024/06/05 02:05
1,字符串:键名-string
用法:
1 127.0.0.1:6379> get username2 (nil)3 127.0.0.1:6379> set username user4 OK5 127.0.0.1:6379> get username6 "user"7 127.0.0.1:6379> del username8 (integer) 1
2,链表:键名-list
用法:
1 127.0.0.1:6379> rpush list-key item1 item2 2 (integer) 2 3 4 127.0.0.1:6379> lrange list-key 0 -1 5 1) "item1" 6 2) "item2"
rpush向为key为list-key加入元素item1,item2两个元素,为一个列表,用lrange list-key 0 -1,0代表第一个下标,-1为最后一个下标。意思就是第一个到最后一个元素,比如说:
1 127.0.0.1:6379> rpush list-key item32 (integer) 33 4 127.0.0.1:6379> lrange list-key 0 -15 1) "item1"6 2) "item2"7 3) "item3"
在列表中,可以使用lindex查询指定下标的元素:
1 127.0.0.1:6379> lrange list-key 0 -12 1) "item1"3 2) "item2"4 3) "item3"5 127.0.0.1:6379> lindex list-key 16 "item2"
下标从是从0开始的,所以1是第二个元素。
使用lpop弹出一个元素:
1 127.0.0.1:6379> lrange list-key 0 -1 2 1) "item1" 3 2) "item2" 4 3) "item3" 5 4) "item4" 6 127.0.0.1:6379> lpop list-key 7 "item1" 8 127.0.0.1:6379> lrange list-key 0 -1 9 1) "item2"10 2) "item3"11 3) "item4"
这个命令可以弹出列表的首元素。首元素为item1,所以操作了这个命令会返回item1并在列表中去除这个元素,可以把这个列表理解为一个队列。
3,集合Set
Set是集合,和list不同之处在于,set只能存储不同的元素。
可以使用sadd来想一个key中添加元素,格式为key value比如:
1 127.0.0.1:6379> sadd set-key item12 (integer) 13 127.0.0.1:6379> sadd set-key item24 (integer) 15 127.0.0.1:6379> sadd set-key item36 (integer) 1
使用smembers查看添加的所有元素
1 127.0.0.1:6379> smembers set-key2 1) "item3"3 2) "item2"4 3) "item1"
可以查出这个key中的所有元素,显示的顺序和添加的相反。这个时候我们在添加一个原来已经添加过的值。
1 127.0.0.1:6379> sadd set-key item12 (integer) 03 127.0.0.1:6379> smembers set-key4 1) "item3"5 2) "item2"6 3) "item1"
并没有出现这个值,说明set中存的内容是互不相同的。
还可以通过sismember查看这个元素是否在set中,比如:
1 127.0.0.1:6379> sismember set-key item32 (integer) 13 127.0.0.1:6379> sismember set-key item44 (integer) 0
存在的返回1,不存在返回0。接下来是删除元素,使用srem删除元素:
1 (integer) 02 127.0.0.1:6379> srem set-key item13 (integer) 14 127.0.0.1:6379> srem set-key item5 (integer) 0
这个命令会返回删除所影响的元素,0的时候是不影响,意思就是删除失败或者没有这个元素可以删除。
1 127.0.0.1:6379> smembers set-key2 1) "item3"3 2) "item2"
4,散列 就是哈希表
散列实际上及时key-value的映射,就是个简单版的redis,向散列中添加只得方式是:
1 127.0.0.1:6379> hset hash-key key1 n12 (integer) 13 127.0.0.1:6379> hset hash-key key2 n24 (integer) 15 127.0.0.1:6379>
然后可以查看hgetall是查询整个key为hash-key的散列key和value值,hget是查询特定的key对应的值:
127.0.0.1:6379> hgetall hash-key1) "key1"2) "n1"3) "key2"4) "n2"127.0.0.1:6379> hget hash-key key1"n1"
使用hdel删除
1 127.0.0.1:6379> hdel hash-key key12 (integer) 13 127.0.0.1:6379> hgetall hash-key4 1) "key2"5 2) "n2"
删除了对应的key和value值。
5,有序集合zset
有序集合和hash的存储格式类似,会根据有序集合的值进行排序,值被称为分值,为浮点类型。向zset中添加元素的命令为:zadd
1 127.0.0.1:6379> zadd zset-key 100 member12 (integer) 13 127.0.0.1:6379> zadd zset-key 99 member04 (integer) 15 127.0.0.1:6379> zadd zset-key 101 member26 (integer) 1
现在查看一下结果,使用zrange命令,这个命令和lrange一样:
1 127.0.0.1:6379> zrange zset-key 0 -12 1) "member0"3 2) "member1"4 3) "member2"
已经排好序了。还可以查看详情 zrange zset-key 0 -1 withscores:
1 127.0.0.1:6379> zrange zset-key 0 -1 withscores2 1) "member0"3 2) "99"4 3) "member1"5 4) "99"6 5) "member2"7 6) "101"
可以查询某个区间内的元素zrangebyscore 下面的命令是查看0-90和0-99的区间:
1 127.0.0.1:6379> zrangebyscore zset-key 0 90 withscores2 (empty list or set)3 127.0.0.1:6379> zrangebyscore zset-key 0 99 withscores4 1) "member0"5 2) "99"6 3) "member1"7 4) "99"8 127.0.0.1:6379>
删除zset的命令
1 127.0.0.1:6379> zrem zset-key member02 (integer) 13 127.0.0.1:6379> zrem zset-key member04 (integer) 05 127.0.0.1:6379>
这个命令会返回影响的行数,如果此行存在并且被删除,则返回1,否则返回0。
1 127.0.0.1:6379> zrange zset-key 0 -1 withscores2 1) "member1"3 2) "99"4 3) "member2"5 4) "101"6 127.0.0.1:6379>
这样就少了一条记录。
以上就是Redis的基本命令,最后全部删除之前操作的数据!
1 flushall
- redis学习:redis安装
- 【Redis学习】:Redis数据类型
- redis 学习
- 学习redis
- 学习Redis
- redis学习
- redis学习
- Redis学习
- redis 学习
- Redis学习
- redis学习
- redis 学习
- redis学习
- redis学习
- Redis学习
- 学习redis
- Redis学习
- Redis学习
- PHP开发知识
- PHP内核研究(内存管理1)
- 设计模式1: 策略模式(Strategy)
- php的<?php ?>标签匹配
- Ajax中Get请求与Post请求的区别
- Redis学习
- 使用James搭建一个自己的邮箱服务器
- 动态获取屏幕宽度,并减去了浏览器左边滚动条的宽度
- OpenGL的简单研究-开端
- kettle--从java中获取参数
- Java设计模式之策略模式
- ACM常用算法
- GO语言面向对象
- 如何实现表格内的内容呈现...省略符