npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

redis-readwritelock

v0.0.9

Published

3-Phases Read-Write-Lock and 3-Phases Real-Number-Range Read-Write-Lock with Redis

Downloads

20

Readme

redis-readwritelock

readwritelock with redis.

Usage

General Functions

init(config, cleanflag, next)

config is an object included configuration parameters. cleanflag is a flag whether it clean zombie lock keys in your redis database or not. next() is called with no arguments. it create lockconfig, and clean zombie lock keys.

unlock(lockobj, next)

lockobj is an argument of a next function of lock functions. next() is called with no arguments.

Simple Lock Functions

simplelock(objectname, next)

objectname is a string. next() is called with an argument 'lockobj' for unlock the lock.

multilock(objectarray, next)

objectarray is an array of strings. next() is called with an argument 'lockobj' for unlock the lock.

Read-Write-Lock Functions

readerlock(objectname, next)

objectname is a string. next() is called with an argument 'lockobj' for unlock the lock.

pwrlock(objectname, next)

objectname is a string. next() is called with an argument 'lockobj' for unlock the lock. pwrlock means 'prewrite read lock'. this is a sort of a read lock. but pwrlock is never caught any other pwrlocks or writerlocks, and you can upgrade it to writerlock without unlock it.

writerlock(objectname_or_lockobj, next)

objectname_or_lockobj is a string or an object of pwrlock. next() is called with an argument 'lockobj' for unlock the lock.

Range Read-Write-Lock Functions

rangereaderlock(objectname, rangemin, rangemax, next)

objectname is a string. rangemin is a real number. rangemax is a real number. next() is called with an argument 'lockobj' for unlock the lock.

rangepwrlock(objectname, rangemin, rangemax, next)

objectname is a string. rangemin is a real number. rangemax is a real number. next() is called with an argument 'lockobj' for unlock the lock.

rangewriterlock(objectname_or_lockobj, rangemin, rangemax, next)

objectname is a string. rangemin is a real number. rangemax is a real number. next() is called with an argument 'lockobj' for unlock the lock.

Range Read-Write-Lock: Shrink Range Functions

rangereaderlock_shrink(lockobj, rangemin, rangemax, next)

lockobj is an object of rangereaderlock. rangemin is a real number. rangemax is a real number. next() is called with an argument 'lockobj' for unlock the lock.

rangepwrlock_shrink(lockobj, rangemin, rangemax, next)

lockobj is an object of rangepwrlock. rangemin is a real number. rangemax is a real number. next() is called with an argument 'lockobj' for unlock the lock.

rangewriterlock_shrink(lockobj, rangemin, rangemax, next)

lockobj is an object of rangewriterlock. rangemin is a real number. rangemax is a real number. next() is called with an argument 'lockobj' for unlock the lock.