redis的入门篇---五种数据类型及基本操作
查看所有的key
keys *
清空所有的key
flushall
检查key是否存在
exists key
设置已存在的key的时长
expire key //设置key为10s
查看key还剩多少时长
ttl key //-1是永久 -2是不存在
查看key的类型
type key
随机取出一个key
randomkey
重命名key
rename key newkey //如果key存在 直接覆盖 renamenx key newkey //如果key存在 则失败 返回0
设置一定时间的key
setex key seconds val //key 时间 val psetex key seconds val //和上面的功能一样 只不过多加一个p 区别是上面的时间是秒级别的 这个是毫秒级别的
字符串类型:
得到指定范围的字符串
getrange key //闭合区间 取三个长度的字符串
得到旧的值并赋予新的值
getset key newval //比如说get a 得到A
//然后getset a AA 还是得到A
//但此时get a 得到的是AA
在字符串后面追加字符串
append key append //意思是在key的val后面加上append字符串
hash哈希(其实就是一个Map<String,Map<String,String>>格式的数据结构)
设置值
hset map name liuzhonghua //成功1
检验是否存在
hexists map name //存在1 不存在0
得到值
hget map name //返回liuzhonghua
得到key所有的值
hgetall map //返回 下面的这中格式 key val key val name
liuzhonghua
age sex
man
得到值里面所有的key 和所对应的val
hkeys map //返回 name
age
sex
hvals map
liuzhonghua
23
man
list列表
lpush list //lpush 特点是最后放进去的总是在第一位
取一定范围的list值和特定索引的值
lrange list //得到1 2 3 lindex list //得到4
移除最后一个元素和第一个元素
lpop list //移除第一个元素 6 返回6 rpop list //移除最后一个元素 1 返回1
将指定下标元素替换
lset list 0 a //将下标为0的元素替换成a
删除元素,返回元素个数
LREM KEY_NAME COUNT VALUE // 被移除元素的数量。 列表不存在时返回 0 。
set列表(特点:无序,不保证你放进去的和得到的顺序一致,值不重复)
增加
sadd set a b c d //key是set val 是 a b c d
得到这个集合的数量
scard set //返回4
查看key的val
smembers set //a b c d
两个集合的差集
sdiff set1 set2 //意思是set1 里面的值减去 set2里面的值 得到set1里面的值
两个集合的交集
sinter set1 set2
两个集合的并集
sunion set1 set2
返回指定数量的随机数
srandmember set1 //随机返回set1的两个值
判断是否是集合的元素
sismember set1 a //如果是 返回1 否则返回0
移除指定的val
srem set1 a b //移除set1集合里面的a和b 返回成功的个数 2
随机移除set里面的val 并返回移除的值
spop set1 //随机返回一个值
zset (有序集合,不重复)
增加(还得必须这样写 真操蛋 看不懂 后面都是一对一对的 艹,,,我懂了,100这样的数值是必须写的,因为是靠他们排序的,我们平常获取的值都是abc
这样的,切记)填坑,很有用这样的属性!!!!!!!!!!!!!
zadd zset a b c // key是zset a的分数是100 b的分数是200 c的分数是300
查看有几个元素
zcard zset //返回3
查看指定的某个值(还得必须这样写 )
zscore zset a //返回100
返回符合指定区间的数量
zcount zset //返回2 闭合区间 就是说a 和 b 他俩所对应的值在0和200之间 符合要求
查看索引
zrank zset a //0
zrank zset b //1
zrank zset c //2
增加值
zincrby zset a //意思是让a的值增加1000 当然a的顺序也会改变,因为zset是有序的 是根据他所对应的值来排序的
获取指定的元素
zrange zset //意思是获取zset的前100个元素 a b c 如果想获取一对一对的 比如说 a 100 b 200 c 300 zrange zset 0 100 withscores
高能预警:介绍几个常用的方法 (zset有序集合的方法)
Redis Zremrangebyrank 命令: http://www.runoob.com/redis/sorted-sets-zremrangebyrank.html
Redis Zremrangebyrank 命令用于移除有序集中,指定排名(rank)区间内的所有成员。 返回 被移除成员的数量。
Redis Zrevrange 命令 : http://www.runoob.com/redis/sorted-sets-zrevrange.html
Redis Zrevrange 命令返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列
redis的入门篇---五种数据类型及基本操作的更多相关文章
- <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅
文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set -> key v ...
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- Redis五种数据类型-设置key的过期时间
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...
- Redis安装及五种数据类型
redis是非关系型数据库,也叫内存数据库.数据是键值对的形式,通过key查找value 安装Radis:6379 sudo apt-get update sudo apt-get install r ...
- Redis: Redis支持五种数据类型
ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...
- Redis支持的五种数据类型
redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...
- Redis学习笔记(3)—— 五种数据类型&keys的通用操作
一.Redis数据结构介绍 redis是一种高级的key-value的存储系统,其中的key是字符串类型,尽可能满足如下几点: 1)key不要太长,最好不要操作1024个字节,这不仅会消耗内存还会降低 ...
随机推荐
- 08-java学习-数组-增强for循环-数组与方法-main函数参数
数组定义和使用 数组与方法的结合使用 main函数传参
- 利用ini_set()函数实现对php配置文件的修改
PHP的配置文件是php.ini,如果要开启或者关闭扩展,还有设置一些模块的相关配置是,就得对该文件进行修改, 修改的方法也很简单,打开php.ini找到对应项直接修改,修改之后需要重新启动才能生效. ...
- Angular 序列化和反序列化和遍历
<!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...
- python排序
排序算法概览 归并排序的 空间复杂度为O(n) 插入排序 基本思想是每次讲一个待排序的记录,按其关键字大小插入到前面已拍好的子序列中,直到全部完成. 直接插入排序 讲元素L(i)插入到有序序列L[1, ...
- 关于封装了gevent的request grequest库的使用与讨论
最近迷上了gevent所以研究很多gevent相关的东西. 但是我现在不想写相关gevent和greenlet的东西.因为这一块内容实在太多太大太杂,我自己也还没有完全弄明白,所以等我完全搞清楚测试也 ...
- html 头部 head
head里面包含标签有: title:html名称,每个html文档都必须有 形式:<title>名字</title>,文档区不显示,浏览器可以识别: 浏览器工具栏显示的页面标 ...
- maven手动添加jar包到本地仓库
推荐几个好的 Maven 常用仓库网址:http://mvnrepository.com/http://search.maven.org/ Maven 安装 JAR 包的命令是: mvn instal ...
- Java生成数独函数
突然想写一下生成算法.代码注释的比较多,应该比较好理解 使用了递归 import java.util.ArrayList; public class Sudoku { static int sudok ...
- Codeforces Round #411 div 2 D. Minimum number of steps
D. Minimum number of steps time limit per test 1 second memory limit per test 256 megabytes input st ...
- 【BZOJ3507】通配符匹配(哈希,动态规划)
[BZOJ3507]通配符匹配(哈希,动态规划) 题面 BZOJ 题解 对于匹配唯一存在影响的只有通配符,而\(?\)的影响也并不大,所以唯一需要仔细考虑的是\(*\). 考虑一个\(dp\),设\( ...