0%

说明

有时候Centos系统默认安装的python进入交互模式下不能使用tab快捷键功能,这个时候需要自己进行相关配置

tab.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python 
# python startup file
import sys
import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
readline.read_history_file(histfile)
except IOError:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter

配置

这里以python.27为例,把
  • 上面的tab.py 放到 /usr/lib/python2.7/site-packages/ 下面,需要先导入sys,再倒入tab模块
  • 可以把tab.py的内容放到 /root/.pythontab文件中,然后在/root/.bash_profile中添加export PYTHONSTARTUP=~/.pythontab, 这种方式不需要再次导入 tab 模块

测试

root@pts/2 $ python 
Python 2.7.5 (default, Sep 15 2016, 22:37:39) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import tab
>>> sys.
sys.__class__(              sys.__stdout__              sys.executable              sys.path
sys.__delattr__(            sys.__str__(                sys.exit(                   sys.path_hooks
sys.__dict__                sys.__subclasshook__(       sys.exitfunc(               sys.path_importer_cache

附加

PYTHONSTARTUP 官网解释:
If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same namespace where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

简单来说就是这个文件会在第一次进入交互模式的时候会被执行,所以把tab.py 加入到这个变量设定的文件中就可以达到自动导入tab.py,实现自动补全的功能

公众号: DailyJobOps DailyJobOps

前言

Hexo搭建好之后,可以编写markdown文档,渲染之后就可以生成静态页面博客,如果此时能有评论模块可以增加和同行之间的互动和知识交流,能有访问统计等,只能知道那篇博客的内容更受大家欢迎等等。


配置 duoshuo 评论

创建多说账号

多说网站 注册自己账号

多说官网注册

一般情况可以用百度账号或者QQ等直接登录

用QQ或者百度账号直接登录

duoshuo_shortname 设置

在如下图中的“多说域名”这里填写的 “liuc” 就是 duoshuo_shortname
duoshuo_shortname 设置

修改站点配置文件 _config.yml 添加如下配置

## duoshuo
duoshuo_shortname: liuc

评论测试

hexo d -g 发布代码查看效果,发现多说评论系统已经添加
多说评论效果测试

评论开启或者关闭设置

默认情况下,需要在每篇文章中开启评论,但是在标签页,分类页、关于页等关掉评论

comments: true 开启评论
comments: false 关闭评论

但是手动在每篇文章中添加比较费事,可以按下面的步骤添加默认行为

文章页默认开启

root@pts/3 $ cat scaffolds/post.md 
---
title: {{ title }}
date: {{ date }}
tags: 
categories: 
toc: true
comments:true
---

关闭标签页,分类页、关于页等评论

这里以标签页为例子

root@pts/3 $ cat source/tags/index.md 
---
title: tags
date: 2016-09-24 17:59:42
type: "tags"
comments: false
---

配置 阅读次数统计

待续

配置 Swiftype 搜索

待续

公众号: DailyJobOps DailyJobOps

Centos 下 pyenv 安装 python 多版本

在学习和利用python开发的很多情况下,需要多版本的Python并存。此时需要在系统中安装多个Python,但又不能影响系统自带的 Python。pyenv 就是这样一个 Python 版本管理器。

当前情况

1
2
3
4
5
6
7
8
9
## 当天系统
root@pts/2 $ cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

## 当前 python 情况
root@pts/2 $ python
python python2 python2.7 python2.7-config python2-config python-config
root@pts/2 $ python -V
Python 2.7.5

安装 pyenv

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
## 安装
root@pts/2 $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into '/root/.pyenv'...
remote: Counting objects: 12744, done.
remote: Total 12744 (delta 0), reused 0 (delta 0), pack-reused 12744
Receiving objects: 100% (12744/12744), 2.26 MiB | 453.00 KiB/s, done.
Resolving deltas: 100% (8837/8837), done.

## 配置
root@pts/2 $ vim ~/.bashrc
root@pts/2 $ cat ~/.bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

## add by liuchao at 20160607
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

## 配置生效
### 方式一
重新打开一个session
### 方式二
source ~/.bashrc
### 方式三
exec $SHELL -l

安装多版本

检查pyenv 安装的版本

root@pts/3 $ pyenv versions
* system (set by /root/.pyenv/version)

安装之前需要安装一些依赖包,否则会报如下错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
root@pts/2 $ pyenv install 3.4.4
Downloading Python-3.4.4.tgz...
-> https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
Installing Python-3.4.4...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems


BUILD FAILED (CentOS Linux 7 using python-build 20160509-25-g4c654d7)

Inspect or clean up the working tree at /tmp/python-build.20160607105740.3166
Results logged to /tmp/python-build.20160607105740.3166.log

Last 10 log lines:
(cd /root/.pyenv/versions/3.4.4/share/man/man1; ln -s python3.4.1 python3.1)
if test "xupgrade" != "xno" ; then \
case upgrade in \
upgrade) ensurepip="--upgrade" ;; \
install|*) ensurepip="" ;; \
esac; \
./python -E -m ensurepip \
$ensurepip --root=/ ; \
fi
Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

安装相关依赖

1
2
3
4
yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y

安装多版本

  • pyenv 安装原理:
    从官网下载对应的版本压缩包到/tmp/目录,然后在/tmp/目录 执行编译安装,安装到~/.pyenv/versions/下面
  • pyenv 安装很慢的解决办法:
    可以先手动下载对应的版本压缩包,放到~/.pyenv/cache/下面,pyenv会校验md5值和完整性,确认无误的话就不会重新下载直接从这里安装

** >>附件修改 201606008<<**
详细可以参考 pyenv ~/.pyenv/cache 不生效问题

关于上面说的如果用 pyenv install 安装很慢的话,可以下载版本压缩包到 ~/.pyenv/cache/ 目录,这里有个很关键的问题所在,具体如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
添加 -v 参数安装的时候看到下载的文件名字是 'Python-3.4.4.tgz',如果
把这个文件名copy到 ~/.pyenv/cache/ 下面的是不起作用的,还是会继续
重新下载。

查找问题后发现,-v 显示的是下载 'Python-3.4.4.tgz', 但是
在/tmp/python-xxxxxx.xxxx/ 目录下面却显示的是 'Python-3.4.4.tar.gz' 文件。

所以把下载的 'Python-3.4.4.tgz' 改名为 'Python-3.4.4.tar.gz' 后放到
~/.pyenv/cache/ 下面后,然后 pyenv install 3.4.4 -v 就不会重新下载了。

注意:
不能采用把 Python-3.4.4.tgz 解压之后才压缩成 Python-3.4.4.tar.gz 的方式,
因为这样的话会导致源文件的md5值发生变化。而校验失败重新下载

-v 显示完整的安装过程

1
2
3
4
5
root@pts/2 $ pyenv install 3.4.4 `[-v]`
Downloading Python-3.4.4.tgz...
-> https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
Installing Python-3.4.4...
Installed Python-3.4.4 to /root/.pyenv/versions/3.4.4

检查

## 查看目前已经安装的
## system 表示系统安装的
## * 代表当前使用的是那个版本
root@pts/3 $ pyenv versions
* system (set by /root/.pyenv/version)
  3.4.4

更新数据库

pyenv rehash 

设置全局python

root@pts/3 $ python -V
Python 2.7.5

root@pts/3 $ pyenv global 3.4.4 
root@pts/3 $ pyenv versions
  system
* 3.4.4 (set by /root/.pyenv/version)

root@pts/3 $ python -V
Python 3.4.4

设置临时python版本

## 在当前session执行
pyenv local 2.7.11
pyenv shell 2.7.11

## 检查发现是从/tmp来设置的临时
root@pts/3 $ pyenv versions
  system
* 2.7.11 (set by /tmp/python-build.20160607105740.3166/Python-3.4.4/.python-version)
  3.4.4
1
2
3
4
5
6
7
8
## 在另外一个session中验证
root@pts/5 $ python -V
Python 3.4.4
Dev-mysql-mem [~] 2016-06-07 11:44:30
root@pts/5 $ pyenv versions
system
2.7.11
* 3.4.4 (set by /root/.pyenv/version)

Refer to

pyenv命令列表


公众号: DailyJobOps DailyJobOps

Centos 下 python 纯净虚拟环境

实际python开发中,可能并行的有多个python项目的开发,他们用到的python版本可能不一样,这个时候就需要有多个相互不依赖的环境来运行多个python项目virtualenv 就刚好满足这个需求


安装 virtualenv

可以用 pipeasy_install 或者 pyenv来安装virtualenv,但是推荐pyenv来安装,pyenv-virtualenv是pyenv的插件。有助于后面的环境切换等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@pts/5 $ ls -l ~/.pyenv/plugins/
total 4
drwxr-xr-x 5 root root 4096 Jun 7 10:51 python-build

root@pts/5 $ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Counting objects: 1800, done.
remote: Total 1800 (delta 0), reused 0 (delta 0), pack-reused 1800
Receiving objects: 100% (1800/1800), 517.45 KiB | 143.00 KiB/s, done.
Resolving deltas: 100% (1230/1230), done.

root@pts/5 $ ls -l ~/.pyenv/plugins/
total 8
drwxr-xr-x 7 root root 4096 Jun 7 12:00 pyenv-virtualenv
drwxr-xr-x 5 root root 4096 Jun 7 10:51 python-build

配置

1
2
3
4
root@pts/5 $ vim ~/.bashrc 
Dev-mysql-mem [~] 2016-06-07 12:01:08
root@pts/5 $ cat ~/.bashrc |egrep 'virtualenv'
eval "$(pyenv virtualenv-init -)"

配置生效

### 方式一
重新打开一个session
### 方式二
source ~/.bashrc
### 方式三
exec $SHELL -l

创建虚拟环境

创建新的虚拟环境实际存在于~/.pyenv/versions/目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## 创建 名字为py3.4.3的虚拟环境
## 注意 第三个 '3.4.4' 版本号码是必须的
root@pts/5 $ pyenv virtualenv 3.4.4 py3.4.4
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.pyenv/versions/3.4.4/envs/py3.4.4/lib/python3.4/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/versions/3.4.4/envs/py3.4.4/lib/python3.4/site-packages

## 查看新增的虚拟环境
root@pts/5 $ ls -l ~/.pyenv/versions/
total 8
drwxr-xr-x 6 root root 4096 Jun 7 11:43 2.7.11
drwxr-xr-x 7 root root 4096 Jun 7 12:05 3.4.4
lrwxrwxrwx 1 root root 40 Jun 7 12:05 py3.4.4 -> /root/.pyenv/versions/3.4.4/envs/py3.4.4

root@pts/5 $ pyenv versions
system
2.7.11
* 3.4.4 (set by /root/.pyenv/version)
3.4.4/envs/py3.4.4
py3.4.4

虚拟环境使用

1
2
3
4
5
6
7
8
9
10
11
12
13
## 进入虚拟环境
root@pts/6 $ pyenv activate py3.4.4
pyenv-virtualenv: prompt changing will be removed from future release. configure 'export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
(py3.4.4) Dev-mysql-mem [~] 2016-06-07 12:12:35

## 查看虚拟环境版本
root@pts/6 $ python -V
Python 3.4.4

## 退出到系统环境
root@pts/6 $ pyenv deactivate
Dev-mysql-mem [~] 2016-06-07 12:14:46
root@pts/6 $

卸载虚拟环境

1
2
3
4
5
## 方式一:暴力删除
rm -rf ~/.pyenv/versions/py3.4.4

## 方式二:温柔卸载
pyenv uninstall py3.4.4

Refer to

pyenv插件virtualenv


公众号: DailyJobOps DailyJobOps

对于memcache监控,一般可以利用memcache自带的STAT命令来查看,但是其输出的结果对于开发而言不是很明了,监控的目的是让开发通过监控的结果去调优程序。这里介绍一款形化memcache监控工具memcachephp,
memcachephp是一款memcache图形界面的监控工具,可以通过这个工具查看到局域网内所有部署memcache机器或者端口的memcache的运行情况,对我们监控memcache的缓存命中率、cache利用率、点击率等信息有很好的帮助作用


下载

可一个通过下面的地址下载对应的版本,最新版是3.0.8,但是这里建议选择`稳定版2.7.7`
http://pecl.php.net/package/memcache

memcache-php.png

*实际的下载地址 *

http://pecl.php.net/get/memcache-2.2.7.tgz

修改配置

下载解压之后,修改 `memcache.php` 文件,这里需要修改如图A/B两处

memcache-php-config.php

**A处修改:**
    这里其实也可以采用默认的账号密码,但是建议修改为自己的账号密码

**B处修改:**
    这里是添加你需要的memcache主机,通过 $MEMCACHE_SERVERS[]可以配置多个memcache实例去监控

部署

把修改好的`memcache.php` 复制到网站对应的位置,
然后通过 `http://real-ip/memcache.php` 去访问,
访问的时候需要账号密码,如果修改了就是自己修改的账号密码

实际效过展示

全局效果展示

memcache-php-show.png

具体memcache实例效果展示

memcache-php-show-host.png


公众号: DailyJobOps DailyJobOps

导语

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。


安装

Centos下安装MongoDB有多种方式,这里介绍yum安装和tar包安装两种方式

YUM 安装

在 /etc/yum.repos.d/下面新增文件 mongodb.repo

root@pts/2 $ cat mongodb.repo 
[mongodb]
name=MongoDB repo
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

yum安装

yum install mongodb-org mongodb-org-server

Tar 安装

# download page
http://www.mongodb.org/downloads

# use `wget` or `curl` to get file
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 

# untar 
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz   

# move to appropriate path
mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb

Configure

## add mongodba user
useradd mongodba

## create configuration and data folder, then set privilege
mkdir -p /usr/local/mongodb/{conf,data}
chown -R mongodba:mongodba /usr/local/mongodb/

## add below command into /etc/profile
MONGO_HOME=/usr/local/mongodb
PATH=$PATH:$JAVA_HOME/bin:${MONGO_HOME}/bin

Verify

无论哪种安装方式最终都采用如下方式验证是否安装成功

root@pts/2 $ mongod --version
db version v3.0.6
git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2

附加

## start mongo
mongod --dbpath /usr/local/mongodb/data/ --logpath /var/log/mongod.log --logappend &

## mongo shell
## you can use mongo or /usr/local/mongodb/bin/mongo
root@pts/2 $ mongo
MongoDB shell version: 3.0.6
connecting to: test

公众号: DailyJobOps DailyJobOps

这里介绍memcache自带的监控小工具stats命令
可以监控基本的memcache信息,像服务器信息,内存分配数据等


stats

显示服务器信息、统计数据等

root@pts/1 $ echo "stats"|nc 192.168.100.13 11211
STAT pid 23160
STAT uptime 505840
STAT time 1479269732
STAT version 1.4.15
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 165.030300
STAT rusage_system 543.017059
STAT curr_connections 45
STAT total_connections 1363
STAT connection_structures 61
STAT reserved_fds 20
STAT cmd_get 30320614
STAT cmd_set 873560
STAT cmd_flush 0
STAT cmd_touch 13123
STAT get_hits 4126857
STAT get_misses 26193757
STAT delete_misses 2267
STAT delete_hits 23858
STAT incr_misses 12718
STAT incr_hits 610
...
STAT evictions 0
STAT reclaimed 84878
END

stats reset

清空统计数据

stats items

输出各个slab中的item的数目和最老item的年龄(最后一次访问距离现在的秒数) .

root@pts/1 $ echo "stats items"|nc 192.168.100.13 11211
STAT items:1:number 12854
STAT items:1:age 506027
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 521
STAT items:1:expired_unfetched 521
STAT items:1:evicted_unfetched 0
STAT items:2:number 28683
STAT items:2:age 506072
...
STAT items:18:evicted_unfetched 0
STAT items:19:number 1
STAT items:19:age 78406
STAT items:19:evicted 0
STAT items:19:evicted_nonzero 0
STAT items:19:evicted_time 0
STAT items:19:outofmemory 0
STAT items:19:tailrepairs 0
STAT items:19:reclaimed 41
STAT items:19:expired_unfetched 33
STAT items:19:evicted_unfetched 0
END

stats slabs

输出slab中更详细的item信息

stats sizes

输出所有item的大小和个数

stats cachedump

根据<slab_id>输出相同的<slab_id>中的item信息。
<limit_num>是输出的个数,
当<limit_num>为0是输出所有的item。

flush_all

使在内存中所有的item失效。加入参数则表示在N秒后失效所有item。
这项操作会立即返回,不会暂停服务器。
这个操作并`不会真的释放内存空间,而是标志所有的item为失效`

stats detail [on|off|dump]

设置或者显示详细操作记录
参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

特殊说明

watch命令来`实时查看·memcache状态

watch echo "stats" |nc 192.168.100.13 11211

公众号: DailyJobOps DailyJobOps

Issue

When visit my own Octpress blog via github(opscolin.github.io), it visited very slow.
And after commont some google related setting in _config.yml, it's still very slow

Method

Except modify _config.yml to commont some google related setting, there still have some font cache and ajax script.

M1

replace with some replaced-source like 360 lib
1, source/_includes/head.html
    ajax.googleapis.com ---> userso.com
2, source/_includes/custom/head.html
    fonts.googleapis.com ---> userso.com

M2

refer to http://www.chanjar.me/blog/2014/06/29/jia-kuai-octopressguo-nei-fang-wen-su-du/

公众号: DailyJobOps DailyJobOps

Requirement

    there are some excel files need to convert to Json format.
include Json level one and level two 

    and for excel files, you need to refer to some example files from
https://github.com/opscolin/ShellScripts/tree/master/Excel2Json

Get script

wget https://github.com/opscolin/ShellScripts/blob/master/Excel2Json/Excel2Json.sh

Usage

bash Excel2Json.sh LevelOne.xlsx > LevelOne.txt
bash Excel2Json.sh 2 LevelTwo.xlsx > LevelTwo.txt

or you cat get usage by 
[root@localtest /tmp ]# bash Excel2Json.sh 
====================================================
Usage:
    #convert Level one
    Excel2Json.sh LevelOne.xlsx > LevelOne.txt
    #convert Level two
    Excel2Json.sh 2 LevelTwo.xlsx > LevelTwo.txt
====================================================

Example

## level one
[root@localtest liuchao]# bash Excel2Json.sh LevelOne.csv 
[
    {
        "id":1,
        "name":"北京"
    },
    {
        "id":2,
        "name":"陕西"
    },
    {
        "id":3,
        "name":"河北"
    },
]

# level two

[root@localtest liuchao]# bash Excel2Json.sh 2 LevelTwo.csv
[
    {
        "id": 1,
        "name": "北京",
        "List": [
            {
                 "id": 1,
                 "name": "东城区"
            },
            {
                 "id": 2,
                 "name": "西城区"
            },
            {
                 "id": 3,
                 "name": "崇文区"
            },
            {
                 "id": 4,
                 "name": "宣武区"
            },
....

公众号: DailyJobOps DailyJobOps

Redis Sorted-Set

zadd

ZADD key score member [score member ...]
e.g.
    zadd myzset 1 one
# zrange myzset 0 -1 withscores

zrem

ZREM key member [member ...]
e.g.
    zrem myzset one

zrange

ZRANGE key start stop [WITHSCORES]
e.g.
    zrange myzset 0 -1 withscores

zrevrange

ZREVRANGE key start stop [WITHSCORES]
返回名称为key的zset(按score从大到小排序)中的index从start到end的所有元素

zincrby

ZINCRBY key increment member
如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment
e.g.
    zincrby key 3 one
    zincrby key 1 five
    127.0.0.1:6379[8]> ZRANGE myzset 0 -1 withscores
     1) "five"
     2) "1"
     3) "two"
     4) "2"
     5) "three"
     6) "3"
     7) "one"
     8) "4"
     9) "four"
    10) "7"

zrank

ZRANK key member
返回名称为key的zset中member元素的排名(按score从小到大排序)即下标
e.g.
    127.0.0.1:6379[8]> ZRANGE myzset 0 -1 withscores
     1) "five"
     2) "1"
     3) "two"
     4) "2"
     5) "three"
     6) "3"
     7) "one"
     8) "4"
     9) "four"
    10) "7"
    127.0.0.1:6379[8]> zrank myzset five
    (integer) 0
    127.0.0.1:6379[8]> zrank myzset one
    (integer) 3

zrevrank

ZREVRANK key member
返回名称为key的zset中member元素的排名(按score从大到小排序)即下标

zrangebyscore

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
e.g.
    zrangebysocre myzset 2 4 withscores

zcount

ZCOUNT key min max
返回集合中score在给定区间的数量
e.g.
    zcount key

zcard

集合个数
ZCARD key

zscore

返回给定元素对应的score
ZSCORE key member

zremrangebyrank

zremrangebyscore


公众号: DailyJobOps DailyJobOps